HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/botocore/docs/__pycache__/shape.cpython-312.pyc
�

P��eN��$�ddlmZGd�d�Zy)�)�is_json_value_headerc�<�eZdZdZ	dd�Z				d	d�Zd�Zd�Zd�Zy)
�ShapeDocumenter�Nc�T�||_||_||_||_|�
dii|_yy)N�special_shape_types)�
_service_name�_operation_name�_event_emitter�_context)�self�service_name�operation_name�
event_emitter�contexts     �5/usr/lib/python3/dist-packages/botocore/docs/shape.py�__init__zShapeDocumenter.__init__s9��*���-���+�����
��?�2�B�7�D�M��c
���|j}t|di�jd�rd}|j|vr|j	|||��y|j|j�t
|�dk(}	t|d�r|jrd}t|d|��|j�|||||||	|�	�|	rG|jjd
|j�d|j�d|j�d|��|��t
|�d
k(}
|
rE|jjd
|j�d|j�d|j�d�|��|j�y)a�Traverses and documents a shape

        Will take a self class and call its appropriate methods as a shape
        is traversed.

        :param section: The section to document.

        :param history: A list of the names of the shapes that have been
            traversed.

        :type include: Dictionary where keys are parameter names and
            values are the shapes of the parameter names.
        :param include: The parameter shapes to include in the documentation.

        :type exclude: List of the names of the parameters to exclude.
        :param exclude: The names of the parameters to exclude from
            documentation.

        :param name: The name of the shape.

        :param is_required: If the shape is a required member.
        �
serialization�eventstream�event_stream)�name��is_document_type�document�document_shape_type_)�historyr�include�exclude�is_top_level_param�is_requiredzdocs.�.)�section�z.complete-sectionN)�	type_name�getattr�getr�document_recursive_shape�append�len�hasattrr�document_shape_defaultr�emit�
EVENT_NAMEr	r
�pop)r
r$�shaperrr rr"�
param_typer!�at_overlying_method_sections           r�traverse_and_document_shapez+ShapeDocumenter.traverse_and_document_shape#s}��@�_�_�
��5�/�2�.�2�2�=�A�'�J��:�:�� ��)�)�'�5�t�)�D��N�N�5�:�:�&�!$�W���!2���u�0�1�e�6L�6L�'�
�
�G��&�z�l�3��+�+�
�
������#5�'�

�"��#�#�(�(��D�O�O�,�A�d�.@�.@�-A��4�CW�CW�BX�XY�Z^�Y_�`�#�)��+.�g�,�!�*;�'�*��#�#�(�(��D�O�O�,�A�d�.@�.@�-A��4�CW�CW�BX�Xi�j�#�)��
�K�K�Mrc�6�dddddd�}|j||�S)Nz({...}|[...]|123|123.4|'string'|True|Nonez
b'bytes'|filezStreamingBody()z
EventStream()��
document_type�jsonvalue_header�streaming_input_shape�streaming_output_shape�eventstream_output_shape��_get_value_for_special_type)r
r1�special_defaultss   r�_get_special_py_defaultz'ShapeDocumenter._get_special_py_defaulths/��I� L�%6�&7�(7�
���/�/��7G�H�Hrc�6�dddddd�}|j||�S)Nz:ref:`document<document>`zJSON serializablez"bytes or seekable file-like objectz:class:`.StreamingBody`z:class:`.EventStream`r6r<)r
r1�special_type_namess   r�_get_special_py_type_namez)ShapeDocumenter._get_special_py_type_namers/��8� 3�%I�&?�(?�
���/�/��7I�J�Jrc���t|�r|dSt|d�r|jr|dS|jdj	�D]\}}||vs�||k(s�||cSy)Nr8rr7r)rr,rr�items)r
r1�special_type_map�special_type�marked_shapes     rr=z+ShapeDocumenter._get_value_for_special_type|s~����&�#�$6�7�7��5�,�-�%�2H�2H�#�O�4�4�*.�-�-�!�+
�
�%�'�	:�&�L�,��/�/��L�(�+�L�9�9�	:�r)N)NNNF)	�__name__�
__module__�__qualname__r/rr4r?rBr=�rrrrs9���J�DH�8���
��C�JI�K�rrN)�botocore.utilsrrrKrr�<module>rMs��&0�q�qr