__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���g�����SrSrSrSrSrSrSSKrSSKrSSKJ	r	J
r
 SSKr\R"S	S
5 SSK
Jr SS
KJr SSKJr SSKJr SSKJr SSKJr SSKJr "SS5r\R55 g)�<Utilities for obtaining information about accessible tables.z$Id$z
$Revision$z$Date$zGCopyright (c) 2023 Igalia, S.L.Copyright (c) 2023 GNOME Foundation Inc.�LGPL�N)�	Generator�Optional�Atspiz2.0)r�)�debug)�messages)�object_properties)�AXObject)�AXComponent)�AXUtilitiesRolec��\rSrSr%Sr0r\\\R4\
S'0r\\\\\44\
S'0r
\\\\\44\
S'0r\\\\\44\
S'0r\\\\\44\
S'0r\\\4\
S'0r\\\4\
S	'0r\\\\\\\44\
S
'0r\\\4\
S'0r\\\\\\\44\
S'0r\\\\4\
S
'0r\\\\4\
S'0r\\\\R4\
S'0r\\\\R4\
S'0r\\\4\
S'0r\\\4\
S'\R>"5r \!SfSj5r"\!SfSj5r#\!SgS\SS4Sjj5r$\!SgS\SS4Sjj5r%\!S\RS\\R4Sj5r&\!ShS\RS\'S\4Sjj5r(\!S\RS\\4Sj5r)\!ShS\RS\'S\4Sjj5r*\!S\RS\\4S j5r+\!SiS\RS!\S"\S\'4S#jj5r,\!S\RS\4S$j5r-\!S\RS\\4S%j5r.\!S\RS\4S&j5r/\!S\RS\\4S'j5r0\!S\RS\'4S(j5r1\!S\RS)\S*\S\\R4S+j5r2\!S,\RS\4S-j5r3\!ShS,\RS\'S\\\44S.jj5r4\!S,\RS\\\\\44S/j5r5\!S,\RS\\\44S0j5r6\!S,\RS\\\44S1j5r7\!S\RS*\S\\R4S2j5r8\!S,\RS\\R4S3j5r9\!S\RS)\S\\R4S4j5r:\!S,\RS\\R4S5j5r;\!S,\RS6\\RS\\R4S7j5r<\!S,\RS6\\RS\\R4S8j5r=\!S,\RS\\R4S9j5r>\!S,\RS\\R4S:j5r?\!SjS\RS;\S\'4S<jj5r@\!S,\RS\\R4S=j5rA\!S,\RS\\R4S>j5rB\!SjS\RS;\S\'4S?jj5rC\!SkS,\RS\'S@\'S\\\44SAjj5rD\!S,\RS\\\44SBj5rE\!S,\RS\\\44SCj5rF\!S,\RS\\\\\44SDj5rG\!SlSE\RSF\'S\4SGjj5rH\!SE\RS\\R4SHj5rI\!S\RS\4SIj5rJ\!S\RS\\R4SJj5rK\!S\RS\\R4SKj5rL\!S,\RS\\R4SLj5rM\!S,\RS\\R4SMj5rN\!S,\RS\\R4SNj5rO\!S,\RS\\R4SOj5rP\!S,\RS\\R4SPj5rQ\!S,\RS\\R4SQj5rR\!S,\RS\\R4SRj5rS\!S,\RS\\R4SSj5rT\!S,\RS\\4STj5rU\!S,\RS\'4SUj5rV\!S,\RS\'4SVj5rW\!S,\RS\'4SWj5rX\!S,\RS\'4SXj5rY\!S,\RS\'4SYj5rZ\!S,\RS\'4SZj5r[\!S\RS\'4S[j5r\\!S,\RS\4S\j5r]\!S,\RS\\R4S]j5r^\!S,\RS\\R4S^j5r_\!S\RS*\SS4S_j5r`\!S\RS)\SS4S`j5ra\!S\RSS4Saj5rb\!S\RSS4Sbj5rc\!S\RS\\\\4\\\444Scj5rd\!S\RS\e\RSS44Sdj5rfSergg)m�AXTable�5r�CAPTIONS�PHYSICAL_COORDINATES_FROM_CELL�PHYSICAL_COORDINATES_FROM_TABLE�PHYSICAL_SPANS_FROM_CELL�PHYSICAL_SPANS_FROM_TABLE�PHYSICAL_COLUMN_COUNT�PHYSICAL_ROW_COUNT�PRESENTABLE_COORDINATES�PRESENTABLE_COORDINATES_LABELS�PRESENTABLE_SPANS�PRESENTABLE_COLUMN_COUNT�PRESENTABLE_ROW_COUNT�COLUMN_HEADERS_FOR_CELL�ROW_HEADERS_FOR_CELL�DYNAMIC_COLUMN_HEADERS_ROW�DYNAMIC_ROW_HEADERS_COLUMN�returnNc�v�[R"[RS9nSUlUR5 g)z3Starts thread to periodically clear cached details.)�targetTN)�	threading�Threadr�_clear_stored_data�daemon�start)�threads �//usr/lib/python3/dist-packages/orca/ax_table.py�start_cache_clearing_thread�#AXTable.start_cache_clearing_threadNs*���!�!��)C�)C�D����
�����c�\�[R"S5 [R5 M,)z*Clears any data we have cached for objects�<)�time�sleepr�_clear_all_dictionaries�r.r+r'�AXTable._clear_stored_dataVs#����J�J�r�N��+�+�-�r.�reasonc���SnU(aUSU3-
n[R"[RUS5 [R [R
R
5 [RR
5 [RR
5 [RR
5 [RR
5 [RR
5 [RR
5 [RR
5 [RR
5 [RR
5 [R R
5 [R"R
5 [R$R
5 SSS5 g!,(df   g=f)NzAXTable: Clearing cache.z	 Reason: T)r	�
print_message�
LEVEL_INFOr�_lockr�clearrrrrrrrrrrrr)r6�msgs  r+r3�AXTable._clear_all_dictionaries^s.��(����Y�v�h�'�'�C�
���E�,�,�c�4�8�
�]�]����"�"�$��2�2�8�8�:��3�3�9�9�;��,�,�2�2�4��-�-�3�3�5��)�)�/�/�1��&�&�,�,�.��+�+�1�1�3��2�2�8�8�:��,�,�2�2�4��)�)�/�/�1��+�+�1�1�3��(�(�.�.�0��]�]�s
�FG�
G&c�.�[RU5 g)z*Clears all cached information immediately.N)rr3)r6s r+�clear_cache_now�AXTable.clear_cache_nowts��	�'�'��/r.�tablec��[R"U5(dg[U5[R;a([RR[U55$[RRU5nSUSU/n[R"[RUS5 U[R[U5'U$![a5nSU3n[R"[RUS5 SnAgSnAff=f)z>Returns the accessible object containing the caption of table.Nz#AXTable: Exception in get_caption: TzAXTable: Caption for�is)r�supports_table�hashrr�getr�Table�get_caption�	Exceptionr	r8r9�print_tokens)rA�caption�errorr<�tokenss     r+rH�AXTable.get_captionzs����&�&�u�-�-����;�'�*�*�*��#�#�'�'��U��4�4�	��k�k�-�-�e�4�G�)�%��w�?��
���5�+�+�V�T�:�(/�����e��%�����	�7��w�?�C����� 0� 0�#�t�<���	�s�#C�
D�+D�D�prefer_attributec�.�[R"U5(dgU(a[RU5nUbU$[RR[
U55nUbU$[RRU5nSUSU/n[R"[RUS5 U[R[
U5'U$![a5nSU3n[R"[RUS5 SnAgSnAff=f)z"Returns the column count of table.���Nz(AXTable: Exception in get_column_count: TzAXTable: Column count forrC)rrDr� _get_column_count_from_attributerrFrErrG�
get_n_columnsrIr	r8r9rJ�rArO�countrLr<rMs      r+�get_column_count�AXTable.get_column_count�s����&�&�u�-�-����<�<�U�C�E�� ����-�-�1�1�$�u�+�>�����L�	��K�K�-�-�e�4�E�.�u�d�E�B��
���5�+�+�V�T�:�5:��%�%�d�5�k�2�����	�<�U�G�D�C����� 0� 0�#�t�<���	���,C�
D�+D�Dc��[U5[R;a([RR[U55$[R
"U5nURS5nSnUb[
U5nSUSU/n[R"[RUS5 U[R[U5'U$)zJReturns the value of the 'colcount' object attribute or None if not found.�colcountNz#AXTable: Column count attribute forrCT)
rErrrFr�get_attributes_dict�intr	rJr9�rA�attrs�attrrUrMs     r+rR�(AXTable._get_column_count_from_attribute�s�����;�'�:�:�:��3�3�7�7��U��D�D��,�,�U�3���y�y��$��������I�E�7���e�L��
���5�+�+�V�T�:�8=��(�(��e��5��r.c�.�[R"U5(dgU(a[RU5nUbU$[RR[
U55nUbU$[RRU5nSUSU/n[R"[RUS5 U[R[
U5'U$![a5nSU3n[R"[RUS5 SnAgSnAff=f)zReturns the row count of table.rQNz%AXTable: Exception in get_row_count: TzAXTable: Row count forrC)rrDr�_get_row_count_from_attributerrFrErrG�
get_n_rowsrIr	r8r9rJrTs      r+�
get_row_count�AXTable.get_row_count�s����&�&�u�-�-����9�9�%�@�E�� ����*�*�.�.�t�E�{�;�����L�	��K�K�*�*�5�1�E�+�E�4��?��
���5�+�+�V�T�:�27��"�"�4��;�/�����	�9�%��A�C����� 0� 0�#�t�<���	�rXc��[U5[R;a([RR[U55$[R
"U5nURS5nSnUb[
U5nSUSU/n[R"[RUS5 U[R[U5'U$)zJReturns the value of the 'rowcount' object attribute or None if not found.�rowcountNz AXTable: Row count attribute forrCT)
rErrrFrr[r\r	rJr9r]s     r+rb�%AXTable._get_row_count_from_attribute�s�����;�'�7�7�7��0�0�4�4�T�%�[�A�A��,�,�U�3���y�y��$��������I�E�4�e�T�5�I��
���5�+�+�V�T�:�5:��%�%�d�5�k�2��r.�max_rows�max_colsc
���[[U[RUS555H�n[[U[R	US555HRn[
RRXU5S:�a  g[
RRXU5S:�a  gMT M� g![a7nSU3n[R"[RUS5 SnA  gSnAff=f)z<Returns True if table has at least one cell with a span > 1.FrTz,AXTable: Exception in is_non_uniform_table: N)
�range�minrrdrVrrG�get_row_extent_at�get_column_extent_atrIr	r8r9)rArirj�row�colrLr<s       r+�is_non_uniform_table�AXTable.is_non_uniform_table�s�����X�w�'<�'<�U�E�'J�K�L�C��S��7�+C�+C�E�5�+Q�R�S��!��{�{�4�4�U��E��I�#��{�{�7�7��C�H�1�L�#�M�	T�M���!�!�H���P�C��'�'��(8�(8�#�t�D� ��!�s�$B1�$B1�1
C2�;+C-�-C2c�Z�[R"U5(dg[RR	U5nSUSU/n[R"[RUS5 U$![
a5nSU3n[R"[RUS5 SnAgSnAff=f)z0Returns the number of selected columns in table.rz0AXTable: Exception in get_selected_column_count TNz"AXTable: Selected column count forrC)
rrDrrG�get_n_selected_columnsrIr	r8r9rJ�rArUrLr<rMs     r+�get_selected_column_count�!AXTable.get_selected_column_counts����&�&�u�-�-��	��K�K�6�6�u�=�E�7��t�U�K��
���5�+�+�V�T�:�����	�D�U�G�L�C����� 0� 0�#�t�<���	���A+�+
B*�5+B%�%B*c�`�[R"U5(d/$[RR	U5nSUSU/n[R"[RUS5 U$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)zCReturns a list of column indices for the selected columns in table.z,AXTable: Exception in get_selected_columns: TNzAXTable: Selected columns for�are)
rrDrrG�get_selected_columnsrIr	r8r9rJ)rA�columnsrLr<rMs     r+r|�AXTable.get_selected_columnss����&�&�u�-�-��I�	��k�k�6�6�u�=�G�2�5�%��I��
���5�+�+�V�T�:�����	�@���H�C����� 0� 0�#�t�<��I��	���A,�,
B-�6,B(�"B-�(B-c�Z�[R"U5(dg[RR	U5nSUSU/n[R"[RUS5 U$![
a5nSU3n[R"[RUS5 SnAgSnAff=f)z-Returns the number of selected rows in table.rz-AXTable: Exception in get_selected_row_count TNzAXTable: Selected row count forrC)
rrDrrG�get_n_selected_rowsrIr	r8r9rJrvs     r+�get_selected_row_count�AXTable.get_selected_row_count$s����&�&�u�-�-��	��K�K�3�3�E�:�E�4�U�D�%�H��
���5�+�+�V�T�:�����	�A�%��I�C����� 0� 0�#�t�<���	�ryc�`�[R"U5(d/$[RR	U5nSUSU/n[R"[RUS5 U$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)z=Returns a list of row indices for the selected rows in table.z)AXTable: Exception in get_selected_rows: TNzAXTable: Selected rows forr{)
rrDrrG�get_selected_rowsrIr	r8r9rJ)rA�rowsrLr<rMs     r+r��AXTable.get_selected_rows6s����&�&�u�-�-��I�	��;�;�0�0��7�D�/��u�d�C��
���5�+�+�V�T�:�����	�=�e�W�E�C����� 0� 0�#�t�<��I��	�rc��[R"U5(dg[RUSS9nUS::ag[R	U5U:Xag[RUSS9n[R
U5U:H$)z0Returns True if all cells in table are selected.F�rOrT)rrDrrdr�rVrw)rAr��colss   r+�all_cells_are_selected�AXTable.all_cells_are_selectedHsx���&�&�u�-�-���$�$�U�U�$�C���1�9���)�)�%�0�D�8���'�'���'�F���0�0��7�4�?�?r.rp�columnc�z�[R"U5(dg[RR	XU5nSUSUS3USU/n[R"[RUS5 U$![
a=nSUSUS3USU/n[R"[RUS5 SnAgSnAff=f)	z1Returns the cell at the 0-indexed row and column.Nz(AXTable: Exception getting cell at row: z col: z in�:TzAXTable: Cell at row: rC)	rrDrrG�get_accessible_atrIr	rJr9)rArpr��cellrLrMs      r+�get_cell_at�AXTable.get_cell_atYs����&�&�u�-�-��	��;�;�0�0��V�D�D�+�3�%�v�f�X�S�A�5�$�PT�U��
���5�+�+�V�T�:�����	�@���V�F�8�SV�W�Y^��5�"�F����u�/�/���>���		�s� A3�3
B:�=3B5�5B:r�c��[R"US5nUbUS:wa[U5$[R"U5n[R"U5[
RR:XaUn[R"U5$)z>Returns the index of cell to be used with the table interface.ztable-cell-index�)	r�
get_attributer\�
get_parent�get_roler�Role�
TABLE_CELL�get_index_in_parent)r��index�parents   r+�_get_cell_index�AXTable._get_cell_indexlsr���&�&�t�-?�@�����"���u�:��
�$�$�T�*�����V�$��
�
�(=�(=�=��D��+�+�D�1�1r.c�N�[R"U5(dg[R"U5(a[RU5up#O[R
U5up#U(dX#4$[RU5upEUb[U5nUb[U5nX#4$)z!Returns the row and column spans.�rQrQ)	r�is_table_cell_or_headerr�supports_table_cellr�_get_cell_spans_from_table_cell�_get_cell_spans_from_table�_get_cell_spans_from_attributer\)r�rO�row_span�col_span�rowspan_attr�colspan_attrs      r+�get_cell_spans�AXTable.get_cell_spans}s����6�6�t�<�<���'�'��-�-�!(�!H�!H��!N��H�h�!(�!C�!C�D�!I��H���%�%�%,�%K�%K�D�%Q�"���#��<�(�H��#��<�(�H��!�!r.c��[U5[R;a)[RR[U5S5$[R
"U5nURSS5nURSS5nSUSUSU/n[R"[RUS5 X#4[R[U5'X#4$)	zMReturns the row and column spans exposed via object attribute, or None, None.�NN�rowspanN�colspanz(AXTable: Row and col span attributes forr��,T)	rErrrFrr[r	rJr9)r�r^r�r�rMs     r+r��&AXTable._get_cell_spans_from_attribute�s�����:��2�2�2��,�,�0�0��d��\�J�J��,�,�T�2���9�9�Y��-���9�9�Y��-��<�d�C��SV�X`�a��
���5�+�+�V�T�:�08�0B��!�!�$�t�*�-��!�!r.c�H�[U5[R;a)[RR[U5S5$[R	U5nUS:ag[RU5nUcg[R"U5(dg[R"U5(ag[RRX!5nUS(dgUR"n[R%US5nXg:�a2SUUS	U3/n[R&"[R US5 S
nUR(n	[R+US5n
X�:�a2SUU	SU
3/n[R&"[R US5 S
n	S
USUSU	3/n[R&"[R US5 Xi4[R[U5'Xi4$![a5nSU3n[R"[R US5 SnAgSnAff=f)zAReturns the row and column spans of cell via the table interface.r�rN)rrz2AXTable: Exception in _get_cell_spans_from_table: TFz!AXTable: Table iface row span forz is greater than row count: rz!AXTable: Table iface col span forz is greater than col count: zAXTable: Table iface spans for�
are rowspan: �, colspan: )rErrrFr��	get_tablerrDr�is_treerrG�get_row_column_extents_at_indexrIr	r8r9�row_extentsrdrJ�col_extentsrV)r�r�rA�resultrLr<r��	row_countrMr��	col_counts           r+r��"AXTable._get_cell_spans_from_table�s�����:��:�:�:��4�4�8�8��d��X�N�N��'�'��-���1�9���!�!�$�'���=���&�&�u�-�-���"�"�5�)�)��	��[�[�@�@��N�F��a�y���%�%���)�)�%��7�	���9�4�!�
�">�y�k�J�L�F����u�/�/���>��H��%�%���,�,�U�E�:�	���9�4�!�
�">�y�k�J�L�F����u�/�/���>��H�2�D�!�(��;�x�j�A�C��
���5�+�+�V�T�:�8@�8J��)�)�$�t�*�5��!�!��9�	�F�u�g�N�C����� 0� 0�#�t�<���	�s�5G"�"
H!�,+H�H!c�j�[U5[R;a)[RR[U5S5$[R
"U5(dg[RRU5n[RRU5nSUSUSU3/n[R"[RUS5 X4[R[U5'X4$![a5nSU3n[R"[RUS5 SnAgSnAff=f)zFReturns the row and column spans of cell via the table cell interface.r�z7AXTable: Exception in _get_cell_spans_from_table_cell: TNz"AXTable: TableCell iface spans forr�r�)rErrrFrr�r�	TableCell�get_row_span�get_column_spanrIr	r8r9rJ)r�r�r�rLr<rMs      r+r��'AXTable._get_cell_spans_from_table_cell�s����:��9�9�9��3�3�7�7��T�
�H�M�M��+�+�D�1�1��	����3�3�D�9�H����6�6�t�<�H�7��!�(��;�x�j�A�C��
���5�+�+�V�T�:�7?�7I��(�(��d��4��!�!���	�K�E�7�S�C����� 0� 0�#�t�<���	�s�$>C3�3
D2�=+D-�-D2c��[R"U5(d/$US:a/$[RR	X5nSUS3USU/n[R"[RUS5 UbU/$/$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)zIReturns the column headers of the indexed column via the table interface.rz6AXTable: Exception in _get_column_headers_from_table: TNz'AXTable: Table iface header for column � ofrC)
rrDrrG�get_column_headerrIr	r8r9rJ)rAr��headerrLr<rMs      r+�_get_column_headers_from_table�&AXTable._get_column_headers_from_table�s����&�&�u�-�-��I��A�:��I�	��[�[�2�2�5�A�F�<�F�8�3�G��PT�V\�]��
���5�+�+�V�T�:����8�O��	���	�J�5�'�R�C����� 0� 0�#�t�<��I��	���A>�>
B?�,B:�4B?�:B?c�\�[R"U5(d/$[RR	U5nSU/n[R"[RUS5 U$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)zAReturns the column headers for cell via the table cell interface.z;AXTable: Exception in _get_column_headers_from_table_cell: TNz5AXTable: TableCell iface column headers for cell are:)
rr�rr��get_column_header_cellsrIr	r8r9rJ�r��headersrLr<rMs     r+�#_get_column_headers_from_table_cell�+AXTable._get_column_headers_from_table_cells����+�+�D�1�1��I�	��o�o�=�=�d�C�G�J�7�S��
���5�+�+�V�T�:�����	�O�PU�w�W�C����� 0� 0�#�t�<��I��	���A*�*
B+�4,B&� B+�&B+c��[R"U5(d/$US:a/$[RR	X5nSUS3USU/n[R"[RUS5 UbU/$/$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)zCReturns the row headers of the indexed row via the table interface.rz3AXTable: Exception in _get_row_headers_from_table: TNz$AXTable: Table iface header for row r�rC)
rrDrrG�get_row_headerrIr	r8r9rJ)rArpr�rLr<rMs      r+�_get_row_headers_from_table�#AXTable._get_row_headers_from_table#s����&�&�u�-�-��I���7��I�	��[�[�/�/��;�F�9���S�A�5�$�PV�W��
���5�+�+�V�T�:����8�O��	���	�G��w�O�C����� 0� 0�#�t�<��I��	�r�c�\�[R"U5(d/$[RR	U5nSU/n[R"[RUS5 U$![
a7nSU3n[R"[RUS5 /sSnA$SnAff=f)z>Returns the row headers for cell via the table cell interface.z8AXTable: Exception in _get_row_headers_from_table_cell: TNz2AXTable: TableCell iface row headers for cell are:)
rr�rr��get_row_header_cellsrIr	r8r9rJr�s     r+� _get_row_headers_from_table_cell�(AXTable._get_row_headers_from_table_cell;s����+�+�D�1�1��I�	��o�o�:�:�4�@�G�G��P��
���5�+�+�V�T�:�����	�L�U�G�T�C����� 0� 0�#�t�<��I��	�r��old_cellc�F�U(a@[R"U5(d%[R"U[R5n[RU5nUcU$[RU5n[
[U5R[U555$)zCReturns row headers of cell that are not also headers of old_cell. )	rr�r�
find_ancestorr�get_row_headers�list�set�
difference�r�r�r��old_headerss    r+�get_new_row_headers�AXTable.get_new_row_headersMsy���O�C�C�H�M�M��-�-�h��8_�8_�`�H��)�)�$�/�����N��-�-�h�7���C��L�+�+�C��,<�=�>�>r.c�F�U(a@[R"U5(d%[R"U[R5n[RU5nUcU$[RU5n[
[U5R[U555$)zFReturns column headers of cell that are not also headers of old_cell. )	rr�rr�r�get_column_headersr�r�r�r�s    r+�get_new_column_headers�AXTable.get_new_column_headers^sy���O�C�C�H�M�M��-�-�h��8_�8_�`�H��,�,�T�2�����N��0�0��:���C��L�+�+�C��,<�=�>�>r.c�z�[R"U5(d/$[RU5nUbU/$[RR[
U55nUbU$[RU5n[U5S:waU[R[
U5'U$[RUS5n[U5S:XaPUSU;aGURSUS5 [RUS5n[U5S:XaUSU;aMGU[R[
U5'U$)zNReturns the row headers for cell, doing extra work to ensure we have them all.rr)
r�
is_table_cellr�get_dynamic_row_headerrrFrE�_get_row_headers�len�insert�r��dynamic_headerr��otherss    r+r��AXTable.get_row_headersos���,�,�T�2�2��I� �7�7��=���%�"�#�#��-�-�1�1�$�t�*�=�����M��)�)�$�/���v�;�!��7=�G�(�(��d��4��M��)�)�&��)�4���&�k�Q��6�!�9�F�#:��M�M�!�V�A�Y�'��-�-�f�Q�i�8�F��&�k�Q��6�!�9�F�#:�4:��$�$�T�$�Z�0��
r.c��[R"U5(a[RU5$[R	U5upUS:dUS:a/$[RU5nUc/$/n[R
U5Sn[XU-5H'nUR[RX655 M) U$)z!Returns the row headers for cell.r)
rr�rr�� _get_cell_coordinates_from_tabler�r�rl�extendr�)r�rpr�rAr�r�r�s       r+r��AXTable._get_row_headers�s����'�'��-�-��;�;�D�A�A��>�>�t�D�����7�f�q�j��I��!�!�$�'���=��I����4�4�T�:�1�=���3�g�
�.�E��N�N�7�>�>�u�L�M�/��r.�
stop_afterc���[R"U5(dg[US-[R	U55n[U5Hn[R
X5(dM g g)z<Returns True if table has any headers for rows 0-stop_after.FrT)rrDrmrrdrlr��rAr��is   r+�has_row_headers�AXTable.has_row_headers�s[���&�&�u�-�-����a���)>�)>�u�)E�F�
��z�"�A��2�2�5�<�<��#�r.c�z�[R"U5(d/$[RU5nUbU/$[RR[
U55nUbU$[RU5n[U5S:waU[R[
U5'U$[RUS5n[U5S:XaPUSU;aGURSUS5 [RUS5n[U5S:XaUSU;aMGU[R[
U5'U$)zQReturns the column headers for cell, doing extra work to ensure we have them all.rr)
rr�r�get_dynamic_column_headerrrFrE�_get_column_headersr�r�r�s    r+r��AXTable.get_column_headers�s���,�,�T�2�2��I� �:�:�4�@���%�"�#�#��0�0�4�4�T�$�Z�@�����M��,�,�T�2���v�;�!��:@�G�+�+�D��J�7��M��,�,�V�A�Y�7���&�k�Q��6�!�9�F�#:��M�M�!�V�A�Y�'��0�0����;�F��&�k�Q��6�!�9�F�#:�7=��'�'��T�
�3��
r.c��[R"U5(a[RU5$[R	U5upUS:dUS:a/$[RU5nUc/$/n[R
U5Sn[X"U-5H'nUR[RX655 M) U$)z$Returns the column headers for cell.rr)
rr�rr�r�r�r�rlr�r�)r�rpr�rAr�r�r�s       r+r��AXTable._get_column_headers�s����'�'��-�-��>�>�t�D�D��>�>�t�D�����7�f�q�j��I��!�!�$�'���=��I����4�4�T�:�1�=���6�G�#3�4�E��N�N�7�A�A�%�O�P�5��r.c���[R"U5(dg[US-[R	U55n[U5Hn[R
X5(dM g g)z?Returns True if table has any headers for columns 0-stop_after.FrT)rrDrmrrVrlr�r�s   r+�has_column_headers�AXTable.has_column_headers�s[���&�&�u�-�-����a���)A�)A�%�)H�I�
��z�"�A��5�5�e�?�?��#�r.�	find_cellc���[R"U5(d,U(a%[R"U[R5n[R"U5(dg[R"U5(a[
R
U5up4O[
RU5up4U(dX44$[
RU5upVUb[U5S-
nUb[U5S-
nX44$)z+Returns the 0-based row and column indices.r�r)
rr�rr�r�r�%_get_cell_coordinates_from_table_cellr��$_get_cell_coordinates_from_attributer\)r�rOrrprq�	row_index�	col_indexs       r+�get_cell_coordinates�AXTable.get_cell_coordinates	s����6�6�t�<�<���)�)�$��0W�0W�X�D��6�6�t�<�<���'�'��-�-��D�D�T�J�H�C���?�?��E�H�C���8�O�&�K�K�D�Q��	�� ��i�.�1�$�C�� ��i�.�1�$�C��x�r.c���[U5[R;a)[RR[U5S5$[R	U5nUS:ag[RU5nUc+SU/n[R"[RUS5 g[RRX!5n[RRX!5nSUSUS	U3/n[R"[RUS5 XE4[R[U5'XE4$![a5nSU3n[R"[RUS5 SnAgSnAff=f)
zCReturns the row and column indices of cell via the table interface.r�rNz6AXTable: Couldn't find table-implementing ancestor forTz8AXTable: Exception in _get_cell_coordinates_from_table: zAXTable: Table iface coords for�	are row: �, col: )rErrrFr�r�r	rJr9rrG�get_row_at_index�get_column_at_indexrIr8)r�r�rArMrpr�rLr<s        r+r��(AXTable._get_cell_coordinates_from_table'sA����:��@�@�@��:�:�>�>�t�D�z�8�T�T��'�'��-���1�9���!�!�$�'���=�N�PT�U�F����u�/�/���>��	��+�+�.�.�u�<�C��[�[�4�4�U�B�F�4�T�Y�s�e�7�SY�RZ�;[�\��
���5�+�+�V�T�:�>A�k��/�/��T�
�;��{����	�L�U�G�T�C����� 0� 0�#�t�<���	�s�'>D6�6
E5�+E0�0E5c�B�[U5[R;a)[RR[U5S5$[R
"U5(dg[RRU5upnU(dgSUSUSU3/n[R"[RUS5 X#4[R[U5'X#4$![a5nSU3n[R"[RUS5 SnAgSnAff=f)zHReturns the row and column indices of cell via the table cell interface.r�z=AXTable: Exception in _get_cell_coordinates_from_table_cell: TNz#AXTable: TableCell iface coords forrr)rErrrFrr�rr��get_positionrIr	r8r9rJ)r��successrpr�rLr<rMs       r+r�-AXTable._get_cell_coordinates_from_table_cellEs�����:��?�?�?��9�9�=�=�d�4�j�(�S�S��+�+�D�1�1��	�#(�?�?�#?�#?��#E� �G�&���7���3�%�w�W]�V^�?_�`��
���5�+�+�V�T�:�=@�[��.�.�t�D�z�:��{����	�Q�RW�QX�Y�C����� 0� 0�#�t�<���		�s�$"C�
D�)+D�Dc��Ucg[U5[R;a)[RR[U5S5$[R
"U5nURS5nURS5nSUSUSU/n[R"[RUS5 X#4[R[U5'UbUbX#4$[R"U[R5nUcX#4$[R
"U5nURSU5nURSU5nSUSX#/n[R"[RUS5 X#4[R[U5'X#4$)	zQReturns the 1-based indices for cell exposed via object attribute, or None, None.r��rowindex�colindexz)AXTable: Row and col index attributes forr�r�Tz$AXTable: Updated attributes based on)rErrrFrr[r	rJr9r�r�is_table_row)r�r^r
rrMrps      r+r	�,AXTable._get_cell_coordinates_from_attribute_sZ���<����:��8�8�8��2�2�6�6�t�D�z�<�P�P��,�,�T�2���I�I�j�)�	��I�I�j�)�	�=�t�S�)�UX�Zc�d��
���5�+�+�V�T�:�6?�6J��'�'��T�
�3�� �Y�%:��'�'��$�$�T�?�+G�+G�H���;��'�'��,�,�S�1���I�I�j�)�4�	��I�I�j�)�4�	�8�#�s�I�Y��
���5�+�+�V�T�:�6?�6J��'�'��T�
�3��#�#r.�obj�include_namec�\�[R"U5(dg[R"USS5nU(aUS:XagUS:Xa[R
nO'US:Xa[RnO[RnU(a$[R"U5nU(aUSU3nU$)zFReturns the end-user-consumable row/column sort order from its header.r��sortF�none�	ascending�
descendingz. )	r�is_table_headerrr�r�SORT_ORDER_ASCENDING�SORT_ORDER_DESCENDING�SORT_ORDER_OTHER�get_name)rr�
sort_orderr��names     r+�&get_presentable_sort_order_from_header�.AXTable.get_presentable_sort_order_from_header�s����.�.�s�3�3���+�+�C���?�
��Z�6�1����$�&�;�;�F�
�<�
'�&�<�<�F�&�7�7�F���$�$�S�)�D�� �6��F�8�,���
r.c��Ucg[R"U5(a>[RR	U5n[R
"U5(aU$SnU"U5(aU$[R"X5$![a5nSU3n[R"[RUS5 SnANbSnAff=f)zJReturns obj if it is a table, otherwise returns the ancestor table of obj.Nz!AXTable: Exception in get_table: Tc���[R"U5(d6[R"U5(d"U5(a[R
"U5$g)NF)r�is_table�
is_tree_tabler�rrD)�xs r+r/�#AXTable.get_table.<locals>.is_table�sH���'�'��*�*�!�/�/��2�2�o�6M�6M�a�6P�6P��.�.�q�1�1�r.)rr�rr�r�rDrIr	r8r9r�)rrArLr<r/s     r+r��AXTable.get_table�s����;���'�'��,�,�
!����1�1�#�6��
�*�*�5�1�1� �L�2�	��C�=�=��J��%�%�c�4�4��!�
A�9�%��A���#�#�E�$4�$4�c�4�@�@��
A�s�B�
C�+C�Cc��[R"U5(dg[R"[RU5[R
U55n[RU5(a[RSU3nU$)z@Returns an end-user-consumable string which describes the table.r�� )	rrDr
�	tableSizerrdrVrr�TABLE_NON_UNIFORM)rAr�s  r+�&get_table_description_for_presentation�.AXTable.get_table_description_for_presentation�sn���&�&�u�-�-���#�#�G�$9�$9�%�$@�'�BZ�BZ�[`�Ba�b���'�'��.�.� �2�2�3�1�V�H�=�F��
r.c�6�Sup[RXU5$)z Returns the first cell in table.)rr)rr��rArprqs   r+�get_first_cell�AXTable.get_first_cell�s������"�"�5�s�3�3r.c��[RU5S-
[RU5S-
p![RXU5$)zReturns the last cell in table.r)rrdrVr�r;s   r+�
get_last_cell�AXTable.get_last_cell�s?���(�(��/�!�3�W�5M�5M�e�5T�WX�5X�S��"�"�5�s�3�3r.c��[RUSS9upUS-n[R[RU5X5$)z%Returns the cell above cell in table.Fr�r�rrr�r��r�rprqs   r+�get_cell_above�AXTable.get_cell_above��B���/�/��u�/�M����q����"�"�7�#4�#4�T�#:�C�E�Er.c��[RUSS9upU[RUSS9S-
n[R[R	U5X5$)z%Returns the cell below cell in table.Fr�r�rrr�r�r�rCs   r+�get_cell_below�AXTable.get_cell_below��X���/�/��u�/�M����w�%�%�d�U�%�C�A�F�F���"�"�7�#4�#4�T�#:�C�E�Er.c��[RUSS9upUS-n[R[RU5X5$)zReturns the cell to the left.Fr�rrBrCs   r+�get_cell_on_left�AXTable.get_cell_on_left�rFr.c��[RUSS9upU[RUSS9S-
n[R[R	U5X5$)zReturns the cell to the right.Fr�rrHrCs   r+�get_cell_on_right�AXTable.get_cell_on_right�rKr.c��[RUSS9Sn[R[RU5US5$)z,Returns the cell at the start of cell's row.Fr�rrB�r�rps  r+�get_start_of_row�AXTable.get_start_of_row�s>���*�*�4�%�*�H��K���"�"�7�#4�#4�T�#:�C��C�Cr.c���[RUSS9Sn[RU5n[RU5S-
n[R	[RU5X5$)z*Returns the cell at the end of cell's row.Fr�rr)rrr�rVr�)r�rprArqs    r+�get_end_of_row�AXTable.get_end_of_row�sa���*�*�4�%�*�H��K���!�!�$�'���&�&�u�-��1���"�"�7�#4�#4�T�#:�C�E�Er.c��[RUSS9Sn[R[RU5SU5$)z-Returns the cell at the top of cell's column.Fr�rrrB�r�rqs  r+�get_top_of_column�AXTable.get_top_of_columns>���*�*�4�%�*�H��K���"�"�7�#4�#4�T�#:�A�s�C�Cr.c���[RUSS9Sn[RU5n[RU5S-
n[R	[RU5X15$)z0Returns the cell at the bottom of cell's column.Fr�r)rrr�rdr�)r�rqrArps    r+�get_bottom_of_column�AXTable.get_bottom_of_columnsa���*�*�4�%�*�H��K���!�!�$�'���#�#�E�*�Q�.���"�"�7�#4�#4�T�#:�C�E�Er.c�n�[R"USS9nURSURS55$)z.Returns the formula associated with this cell.F)�	use_cache�formula�Formula)rr[rF)r�r^s  r+�get_cell_formula�AXTable.get_cell_formulas0���,�,�T�U�C���y�y��E�I�I�i�$8�9�9r.c�P�[RUSS9upUS:H=(a US:H$)z4Returns True if this is the first cell in its table.Fr�r�rrrCs   r+�
is_first_cell�AXTable.is_first_cells.���/�/��u�/�M����a�x�$�C�1�H�$r.c���[RUSS9upUS:dUS:ag[RU5nUcgUS-[RUSS9:H=(a US-[R	USS9:H$)z3Returns True if this is the last cell in its table.Fr�rr)rrr�rdrV)r�rprqrAs    r+�is_last_cell�AXTable.is_last_cell"s����/�/��u�/�M�����7�c�A�g���!�!�$�'���=���Q�w�'�/�/���/�N�N�S��a��7�3�3�E�E�3�R�R�	Sr.c�:�[RUSS9SnUS:H$)z2Returns True if this is the first cell in its row.Fr�rrrgrZs  r+�is_start_of_row�AXTable.is_start_of_row1�'���*�*�4�%�*�H��K���a�x�r.c��[RUSS9SnUS:ag[RU5nUcgUS-[RUSS9:H$)z1Returns True if this is the last cell in its row.Fr�rr)rrr�rV)r�rqrAs   r+�
is_end_of_row�AXTable.is_end_of_row8s_���*�*�4�%�*�H��K����7���!�!�$�'���=���Q�w�'�2�2�5�5�2�Q�Q�Qr.c�:�[RUSS9SnUS:H$)z5Returns True if this is the first cell in its column.Fr�rrgrSs  r+�is_top_of_column�AXTable.is_top_of_columnFrpr.c��[RUSS9SnUS:ag[RU5nUcgUS-[RUSS9:H$)z4Returns True if this is the last cell in its column.Fr�rr)rrr�rd)r�rprAs   r+�is_bottom_of_column�AXTable.is_bottom_of_columnMs_���*�*�4�%�*�H��K����7���!�!�$�'���=���Q�w�'�/�/���/�N�N�Nr.c���Sup[R"U5n[R"U5(a�UR	S5S:XaSupO�[R
"U5(dSupO�UR	S5S:XdUR	S5S:XaS	upO�[RU5(d[RU5(aS
upOY[R"U5(d"U5(aSupO[RU5(aSupS
USUSUS3/n[R"[RUS5 U$)z<Returns True if this table should be treated as layout only.)FzNot enough informationzlayout-guess�true)Tz#The layout-guess attribute is true.)Tz Doesn't support table interface.z	xml-rolesrA�tag)Fz0Is a web table without layout-guess set to true.)FzHas headers)FzHas name or description)FzHas captionzAXTable:zis layout only: z (�)T)rr[rr/rFrDrrr�r(�get_descriptionrHr	rJr9)rAr�r6r^rMs     r+�is_layout_table�AXTable.is_layout_table[s/��9����,�,�U�3���#�#�E�*�*��y�y��(�F�2�!L�����,�,�U�3�3�!I�������;�'�7�2�e�i�i��6F�'�6Q�!Z�����+�+�E�2�2�g�6M�6M�e�6T�6T�!5�����"�"�5�)�)�X�-E�-E�e�-L�-L�!A�����$�$�U�+�+�!5����e�'7��x�r�&���%K�L��
���5�+�+�V�T�:��
r.c��[U5[R;a)[RR[U5S5$[R
"U5nSnURSURS55nURSURS55nUb	UbUU3nSUSU3/n[R"[RUS5 U[R[U5'U(aU$[R"U[R5nUcU$[R
"U5nURSURSU55nURSURSU55nUb	UbUU3nS	USU3/n[R"[RUS5 U[R[U5'U$)
zDReturns the text that should be used instead of the numeric indices.r��colindextext�coltext�rowindextext�rowtextzAXTable: Coordinates label forz: Tz+AXTable: Updated coordinates label based on)rErrrFrr[r	rJr9r�rr)r�r^r��	col_label�	row_labelrMrps       r+�get_label_for_cell_coordinates�&AXTable.get_label_for_cell_coordinatesss�����:��?�?�?��9�9�=�=�d�4�j�"�M�M��,�,�T�2�����I�I�n�e�i�i�	�.B�C�	��I�I�n�e�i�i�	�.B�C�	�� �Y�%:�!�{�9�+�.�F�2�D�B�v�h�-�H��
���5�+�+�V�T�:�=C��.�.�t�D�z�:���M��$�$�T�?�+G�+G�H���;��M��,�,�S�1���I�I�n�e�i�i�	�9�.M�N�	��I�I�n�e�i�i�	�9�.M�N�	�� �Y�%:�!�{�9�+�.�F�?���6�(�m�T��
���5�+�+�V�T�:�=C��.�.�t�D�z�:��
r.c���[RU5n[RR[	U55nUcg[RU5up4XB:Xag[R
XU5$)z)Returns the user-set row header for cell.N)rr�r!rFrErr�)r�rA�headers_column�cell_row�cell_columns     r+r��AXTable.get_dynamic_row_header�sf���!�!�$�'�� �;�;�?�?��U��L���!�� '� <� <�T� B����(���"�"�5�N�C�Cr.c���[RU5n[RR[	U55nUcg[RU5up4X2:Xag[R
XU5$)z,Returns the user-set column header for cell.N)rr�r rFrErr�)r�rA�headers_rowr�r�s     r+r��!AXTable.get_dynamic_column_header�sf���!�!�$�'���8�8�<�<�T�%�[�I����� '� <� <�T� B����"���"�"�5�{�C�Cr.c�<�U[R[U5'g)z7Sets the dynamic row headers column of table to column.N)rr!rE)rAr�s  r+�set_dynamic_row_headers_column�&AXTable.set_dynamic_row_headers_column�s��;A��*�*�4��;�7r.c�<�U[R[U5'g)z4Sets the dynamic column headers row of table to row.N)rr rE)rArps  r+�set_dynamic_column_headers_row�&AXTable.set_dynamic_column_headers_row�s��;>��*�*�4��;�7r.c��[U5[R;ag[RR[U55 g)z/Clears the dynamic row headers column of table.N)rErr!�pop�rAs r+� clear_dynamic_row_headers_column�(AXTable.clear_dynamic_row_headers_column��1����;�g�@�@�@���*�*�.�.�t�E�{�;r.c��[U5[R;ag[RR[U55 g)z/Clears the dynamic column headers row of table.N)rErr r�r�s r+� clear_dynamic_column_headers_row�(AXTable.clear_dynamic_column_headers_row�r�r.c��[R"U5(dg[R"U5nSUSU/n[R
"[RUS5 [R"XRS-URS-5nSUSU/n[R
"[RUS5 [RUSS9nS	US
SUS/n[R
"[RUS5 [R"XRUR-S-
URUR-S-
5nSUSU/n[R
"[RUS5 [RUSS9nS
US
SUS/n[R
"[RUS5 XF4$)zDReturns the (row, col) of the first and last visible cells in table.)r�r�zAXTable: Rect forrCTrzAXTable: First visible cell forFr�z%AXTable: First visible cell is at rowrr�zAXTable: Last visible cell forz$AXTable: Last visible cell is at row)rrDr
�get_rectr	rJr9�get_descendant_at_pointr1�yrr�width�height)rA�rectrM�
first_cellr)�	last_cell�ends       r+�_get_visible_cell_range�AXTable._get_visible_cell_range�s����&�&�u�-�-�%��#�#�E�*��%�u�d�D�9��
���5�+�+�V�T�:� �8�8�����
�D�F�F�UV�J�W�
�3�U�D�*�M��
���5�+�+�V�T�:��,�,�Z�%�,�P��9�5��8�X�u�UV�x�X��
���5�+�+�V�T�:��7�7��6�6�D�J�J�&��*�D�F�F�T�[�[�,@�1�,D�F�	�2�E�4��K��
���5�+�+�V�T�:��*�*�9�u�*�M��8�#�a�&�(�C�PQ�F�S��
���5�+�+�V�T�:��z�r.c#�2# �[RU5upUSS:dUSS:dUSS:d	USS:ag[USUSS-5H>n[USUSS-5H"n[RXU5nUcMUv� M$ M@ g7f)z"Yields the visible cells in table.rrN)rr�rlr�)rAr)r�rprqr�s      r+�iter_visible_cells�AXTable.iter_visible_cells�s�����4�4�U�;�
����8�a�<�5��8�a�<�3�q�6�A�:��Q��!�����q��3�q�6�A�:�.�C��U�1�X�s�1�v��z�2���*�*�5�s�;���#��J�3�/�s�BB�

Br4)r"N)r�)T)�r�)�
)TF)F)h�__name__�
__module__�__qualname__�__firstlineno__�__doc__r�dictr\r�
Accessible�__annotations__r�tuplerrrrrrr�strrrrrrr�rr r!r%�Lockr:�staticmethodr,r'r3r?rH�boolrVrRrdrbrrrwr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr�rr	r+r�r8r<r?rDrIrMrPrTrWr[r^rdrhrkrnrrrurxrr�r�r�r�r�r�r�r�rr��__static_attributes__r4r.r+rr5s���F�-/�H�d�3��(�(�(�)�.�AC�"�D��e�C��H�o�)=�$>�C�BD�#�T�#�u�S�#�X��*>�%?�D�;=��d�3��c�3�h��#7�8�=�<>��t�C��s�C�x��$8�9�>�,.��4��S��>�.�)+���S�#�X��+�NP��T�#�u�X�c�]�H�S�M�-I�'J�"J�K�P�57�"�D��c��N�7�HJ��t�C��x��}�h�s�m�'C�!D�D�E�J�9;��d�3���
�#5�6�;�68��4��X�c�]� 2�3�8�AC��T�#�t�E�,<�,<�'=�"=�>�C�>@��$�s�D��)9�)9�$:�:�;�@�24���S�#�X��3�13���S�#�X��3��N�N��E������.��.��1��1�T�1��1�*�0��0�T�0��0�
��5�+�+����9I�9I�0J����*��� 0� 0��D��TW����6���0@�0@��X�c�]����"��U�-�-����QT����6��U�-=�-=��(�3�-����"�EG������+.��?B��	
����&���)9�)9��c����"��E�$4�$4���c�����"��e�&6�&6��3����"���!1�!1��d�3�i����"�@�e�&6�&6�@�4�@��@� ��5�+�+��#��s��x�PU�P`�P`�Ga����$�2�e�.�.�2�3�2��2� �"�U�-�-�"��"�QV�WZ�\_�W_�Q`�"��"�,�"����"�	�x��}�h�s�m�+�	,�"��"�"�4"��)9�)9�4"�e�C��H�o�4"��4"�l�"�e�.>�.>�"�5��c��?�"��"�2������),��	
�e���	����2��%�2B�2B��t�E�L\�L\�G]����"��5�+;�+;��#��$�u�O_�O_�J`����.��u�/?�/?��D��IY�IY�DZ����"�?����?��5�+�+�,�?�
�e���	�?��?� �?����?��5�+�+�,�?�
�e���	�?��?� �&�e�.�.�&�4��8H�8H�3I�&��&�P��u�/�/��D��9I�9I�4J����*��u�/�/��S��$�����&��!1�!1�&�d�5�;K�;K�6L�&��&�P��%�"2�"2��t�E�<L�<L�7M����*��%�"2�"2����T�����"&�����������
�s�C�x��	���:��u�/?�/?��E�#�s�(�O����:��E�4D�4D���s�TW�x�����2� $���� $�	�x��}�h�s�m�+�	,� $�� $�D�#��
�
�
����

����6�5�u�'�'�5�H�U�5E�5E�,F�5��5�6�	�e�6F�6F�	�3�	��	��4�e�.�.�4�8�E�<L�<L�3M�4��4��4�U�-�-�4�(�5�;K�;K�2L�4��4��F�U�-�-�F�(�5�;K�;K�2L�F��F��F�U�-�-�F�(�5�;K�;K�2L�F��F��F�u�/�/�F�H�U�=M�=M�4N�F��F��F�� 0� 0�F�X�e�>N�>N�5O�F��F��D�u�/�/�D�H�U�=M�=M�4N�D��D��F�U�-�-�F�(�5�;K�;K�2L�F��F��D�� 0� 0�D�X�e�>N�>N�5O�D��D��F�5�#3�#3�F���AQ�AQ�8R�F��F��:�u�/�/�:�H�S�M�:��:��%�E�,�,�%��%��%��S�5�+�+�S��S��S���e�.�.��4�����R�E�,�,�R��R��R���u�/�/��D�����O�%�"2�"2�O�t�O��O���u�/�/��D����.�#�U�-=�-=�#�#�#��#�J�D�U�%5�%5�D�(�5�CS�CS�:T�D��D��D��(8�(8�D�X�e�FV�FV�=W�D��D��A�e�.>�.>�A��A�PT�A��A�
�>�e�.>�.>�>�S�>�T�>��>�
�<��0@�0@�<�T�<��<��<��0@�0@�<�T�<��<���u�'7�'7��E�%��S��/�SX�Y\�^a�Ya�Sb�Bb�<c����:��%�"2�"2��y��AQ�AQ�SW�Y]�A]�7^���r.r)r��__id__�__version__�__date__�
__copyright__�__license__r%r1�typingrr�gi�require_version�
gi.repositoryrr�r	r
r�	ax_objectr�ax_componentr
�ax_utilities_rolerrr,r4r.r+�<module>r�sr��8C�������;�
�����&�	����7�E�"������%�.�J�J�Z&�#�#�%r.

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 276 B 0644
acss.cpython-313.pyc File 4.37 KB 0644
action_presenter.cpython-313.pyc File 12.53 KB 0644
ax_collection.cpython-313.pyc File 6.06 KB 0644
ax_component.cpython-313.pyc File 22.4 KB 0644
ax_document.cpython-313.pyc File 13.2 KB 0644
ax_event_synthesizer.cpython-313.pyc File 22.37 KB 0644
ax_hypertext.cpython-313.pyc File 11.3 KB 0644
ax_object.cpython-313.pyc File 63.85 KB 0644
ax_selection.cpython-313.pyc File 5.26 KB 0644
ax_table.cpython-313.pyc File 62.75 KB 0644
ax_text.cpython-313.pyc File 58.92 KB 0644
ax_utilities.cpython-313.pyc File 37.16 KB 0644
ax_utilities_application.cpython-313.pyc File 9.14 KB 0644
ax_utilities_collection.cpython-313.pyc File 125.47 KB 0644
ax_utilities_debugging.cpython-313.pyc File 15.44 KB 0644
ax_utilities_event.cpython-313.pyc File 41.86 KB 0644
ax_utilities_relation.cpython-313.pyc File 21.3 KB 0644
ax_utilities_role.cpython-313.pyc File 139.59 KB 0644
ax_utilities_state.cpython-313.pyc File 19.65 KB 0644
ax_value.cpython-313.pyc File 8.8 KB 0644
bookmarks.cpython-313.pyc File 16.09 KB 0644
braille.cpython-313.pyc File 82.01 KB 0644
braille_generator.cpython-313.pyc File 71.06 KB 0644
braille_rolenames.cpython-313.pyc File 8.73 KB 0644
brlmon.cpython-313.pyc File 9.02 KB 0644
brltablenames.cpython-313.pyc File 2.46 KB 0644
bypass_mode_manager.cpython-313.pyc File 5.79 KB 0644
caret_navigation.cpython-313.pyc File 22.86 KB 0644
chat.cpython-313.pyc File 33.96 KB 0644
clipboard.cpython-313.pyc File 27.81 KB 0644
cmdnames.cpython-313.pyc File 18.85 KB 0644
colornames.cpython-313.pyc File 11.83 KB 0644
debug.cpython-313.pyc File 4.76 KB 0644
debugging_tools_manager.cpython-313.pyc File 13.8 KB 0644
event_manager.cpython-313.pyc File 43.89 KB 0644
flat_review.cpython-313.pyc File 59.1 KB 0644
flat_review_finder.cpython-313.pyc File 29.77 KB 0644
flat_review_presenter.cpython-313.pyc File 59.01 KB 0644
focus_manager.cpython-313.pyc File 14.24 KB 0644
generator.cpython-313.pyc File 95.62 KB 0644
guilabels.cpython-313.pyc File 12.43 KB 0644
highlighter.cpython-313.pyc File 9.86 KB 0644
input_event.cpython-313.pyc File 45.78 KB 0644
input_event_manager.cpython-313.pyc File 48.43 KB 0644
keybindings.cpython-313.pyc File 27.27 KB 0644
keynames.cpython-313.pyc File 4.73 KB 0644
label_inference.cpython-313.pyc File 25.15 KB 0644
learn_mode_presenter.cpython-313.pyc File 19.89 KB 0644
liveregions.cpython-313.pyc File 31.34 KB 0644
mathsymbols.cpython-313.pyc File 64.53 KB 0644
messages.cpython-313.pyc File 41.8 KB 0644
mouse_review.cpython-313.pyc File 33.59 KB 0644
notification_presenter.cpython-313.pyc File 18.47 KB 0644
object_navigator.cpython-313.pyc File 15.8 KB 0644
object_properties.cpython-313.pyc File 8.27 KB 0644
orca.cpython-313.pyc File 13.43 KB 0644
orca_gtkbuilder.cpython-313.pyc File 5.53 KB 0644
orca_gui_navlist.cpython-313.pyc File 10.45 KB 0644
orca_gui_prefs.cpython-313.pyc File 166.31 KB 0644
orca_gui_profile.cpython-313.pyc File 5.69 KB 0644
orca_i18n.cpython-313.pyc File 2.63 KB 0644
orca_modifier_manager.cpython-313.pyc File 17.05 KB 0644
orca_platform.cpython-313.pyc File 661 B 0644
phonnames.cpython-313.pyc File 1.51 KB 0644
pronunciation_dict.cpython-313.pyc File 1.95 KB 0644
script.cpython-313.pyc File 15.33 KB 0644
script_manager.cpython-313.pyc File 18.15 KB 0644
script_utilities.cpython-313.pyc File 87.03 KB 0644
settings.cpython-313.pyc File 6.79 KB 0644
settings_manager.cpython-313.pyc File 35.18 KB 0644
sleep_mode_manager.cpython-313.pyc File 6.67 KB 0644
sound.cpython-313.pyc File 8.71 KB 0644
sound_generator.cpython-313.pyc File 58.4 KB 0644
speech.cpython-313.pyc File 10.75 KB 0644
speech_and_verbosity_manager.cpython-313.pyc File 34.1 KB 0644
speech_generator.cpython-313.pyc File 214.55 KB 0644
speechdispatcherfactory.cpython-313.pyc File 33.52 KB 0644
speechserver.cpython-313.pyc File 10.21 KB 0644
spellcheck.cpython-313.pyc File 24.24 KB 0644
spiel.cpython-313.pyc File 34.68 KB 0644
ssml.cpython-313.pyc File 6.03 KB 0644
structural_navigation.cpython-313.pyc File 93.9 KB 0644
system_information_presenter.cpython-313.pyc File 9.42 KB 0644
table_navigator.cpython-313.pyc File 36.48 KB 0644
text_attribute_names.cpython-313.pyc File 6.01 KB 0644
where_am_i_presenter.cpython-313.pyc File 26.41 KB 0644
Filemanager