Ë
    rPêj�(  ã                   ó&  — d dl Z d dlmZ d„ Zd„ Zd„ Z edg d¢«      Z G d„ de«      Z G d	„ d
«      Z G d„ d«      Z	 G d„ d«      Z
 G d„ d«      ZddddddœZ e j                  dj                   ee j                   e«      «      «      Zd„ Zd„ Zy)é    N)Ú
namedtuplec                 ó6   — ddddddddœj                  | | «      S )z¯Get the Python type name for a given model type.

        >>> py_type_name('list')
        'list'
        >>> py_type_name('structure')
        'dict'

    :rtype: string
    ÚbytesÚstringÚfloatÚintegerÚdictÚdatetime)ÚblobÚ	characterÚdoubleÚlongÚmapÚ	structureÚ	timestamp©Úget©Ú	type_names    úX/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/botocore/docs/utils.pyÚpy_type_namer      s1   € ð ØØØØØØñ÷ 
�cˆ)�YÓð ó    c                 ó<   — ddddddddddd	œ
j                  | d
«      S )záGet the Python default value for a given model type.

        >>> py_default('string')
        ''string''
        >>> py_default('list')
        '[...]'
        >>> py_default('unknown')
        '...'

    :rtype: string
    z123.0Ú123z'string'zb'bytes'z
True|Falsez[...]z{...}zdatetime(2015, 1, 1))
r   r   r   r   r   ÚbooleanÚlistr   r   r   z...r   r   s    r   Ú
py_defaultr   &   s:   € ð ØØØØØØØØØ+ñ÷ 
�cˆ)�UÓðr   c                 ó"  — | j                   j                  d«      }| j                   j                  dd«      }|j                  d«      r|dd }|j                  d«      r|dd }|r)|j                  «       |j                  «       vr	|d	|› d
�z  }|S )zwGenerate the official name of an AWS Service

    :param service_model: The service model representing the service
    ÚserviceFullNameÚserviceAbbreviationÚ ÚAmazoné   NÚAWSé   z (ú))Úmetadatar   Ú
startswithÚlower)Úservice_modelÚofficial_nameÚ
short_names      r   Úget_official_service_namer-   @   s›   € ð
 "×*Ñ*×.Ñ.Ð/@ÓA€MØ×'Ñ'×+Ñ+Ð,AÀ2ÓF€JØ×Ñ˜XÔ&Ø  �^ˆ
Ø×Ñ˜UÔ#Ø  �^ˆ
Ù�j×&Ñ&Ó(°×0CÑ0CÓ0EÑEØ˜2˜j˜\¨Ð+Ñ+ˆØÐr   ÚDocumentedShape)Únamer   Údocumentationr'   ÚmembersÚrequired_membersc                   ó*   ‡ — e Zd ZdZ	 	 	 dˆ fd„	Zˆ xZS )r.   zBUse this class to inject new shapes into a model for documentationc           	      óF   •— |€g }|€g }|€g }t         ‰| �  | ||||||«      S ©N)ÚsuperÚ__new__)Úclsr/   r   r0   r'   r1   r2   Ú	__class__s          €r   r7   zDocumentedShape.__new__`   sL   ø€ ð ÐØˆHØˆ?ØˆGØÐ#Ø!ÐÜ‰w‰ØØØØØØØó
ð 	
r   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r7   Ú__classcell__)r9   s   @r   r.   r.   ]   s   ø„ ÙLð ØØ÷
ñ 
r   c                   ó   — e Zd Zdd„Zd„ Zy)ÚAutoPopulatedParamNc                 ó4   — || _         || _        |€d| _        y y )Nz{Please note that this parameter is automatically populated if it is not provided. Including this parameter is not required
)r/   Úparam_description)Úselfr/   rB   s      r   Ú__init__zAutoPopulatedParam.__init__{   s)   € ØˆŒ	Ø!2ˆÔØÐ$ðð Õ"ð %r   c                 óÔ  — |j                  d«      r€| j                  |j                  v rg|j                  | j                  «      }d|j                  v r|j	                  d«       |j                  d«      }|j                  | j                  «       yy|j                  d«      rF|j                  d«      }| j                  |j                  v r|j	                  | j                  «       yyy)zïDocuments auto populated parameters

        It will remove any required marks for the parameter, remove the
        parameter from the example, and add a snippet about the parameter
        being autopopulated in the description.
        údocs.request-paramszis-requiredúparam-documentationúdocs.request-exampleústructure-valueN)r(   r/   Úavailable_sectionsÚget_sectionÚdelete_sectionÚwritelnrB   ©rC   Ú
event_nameÚsectionÚkwargsÚdescription_sections        r   Údocument_auto_populated_paramz0AutoPopulatedParam.document_auto_populated_param…   sÔ   € ð × Ñ Ð!6Ô7Ø�y‰y˜G×6Ñ6Ñ6Ø!×-Ñ-¨d¯i©iÓ8�Ø  G×$>Ñ$>Ñ>Ø×*Ñ*¨=Ô9Ø&-×&9Ñ&9Ø)ó'Ð#ð $×+Ñ+¨D×,BÑ,BÕCð 7ð ×"Ñ"Ð#9Ô:Ø×)Ñ)Ð*;Ó<ˆGØ�y‰y˜G×6Ñ6Ñ6Ø×&Ñ& t§y¡yÕ1ð 7ð ;r   r5   )r:   r;   r<   rD   rS   © r   r   r@   r@   z   s   „ óó2r   r@   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚHideParamFromOperationsa>  Hides a single parameter from multiple operations.

    This method will remove a parameter from documentation and from
    examples. This method is typically used for things that are
    automatically populated because a user would be unable to provide
    a value (e.g., a checksum of a serialized XML request body).c                 óä   — || _         t        «       | _        t        «       | _        d}d}|D ]B  }| j                  j	                  |||fz  «       | j                  j	                  |||fz  «       ŒD y)a(  
        :type service_name: str
        :param service_name: Name of the service to modify.

        :type parameter_name: str
        :param parameter_name: Name of the parameter to modify.

        :type operation_names: list
        :param operation_names: Operation names to modify.
        z*docs.request-params.%s.%s.complete-sectionz+docs.request-example.%s.%s.complete-sectionN)Ú_parameter_nameÚsetÚ_params_eventsÚ_example_eventsÚadd)rC   Úservice_nameÚparameter_nameÚoperation_namesÚparam_templateÚexample_templater/   s          r   rD   z HideParamFromOperations.__init__£   sy   € ð  .ˆÔÜ!›eˆÔÜ"›uˆÔàEˆØHÐØ#ò 	NˆDØ×Ñ×#Ñ# N°lÀDÐ5IÑ$IÔJØ× Ñ ×$Ñ$Ð%5¸ÀtÐ8LÑ%LÕMñ	Nr   c                 óÊ   — || j                   v r|j                  d«      }n|| j                  vry | j                  |j                  v r|j                  | j                  «       y y )NrI   )r[   rK   rZ   rX   rJ   rL   )rC   rO   rP   rQ   s       r   Ú
hide_paramz"HideParamFromOperations.hide_param¸   s_   € Ø˜×-Ñ-Ñ-à×)Ñ)Ð*;Ó<‰GØ˜t×2Ñ2Ñ2ØØ×Ñ 7×#=Ñ#=Ñ=Ø×"Ñ" 4×#7Ñ#7Õ8ð >r   N)r:   r;   r<   r=   rD   rc   rT   r   r   rV   rV   ›   s   „ ñDòNó*9r   rV   c                   ó   — e Zd ZdZd„ Zd„ Zy)ÚAppendParamDocumentationz-Appends documentation to a specific parameterc                 ó    — || _         || _        y r5   )rX   Ú_doc_string)rC   r^   Ú
doc_strings      r   rD   z!AppendParamDocumentation.__init__Å   s   € Ø-ˆÔØ%ˆÕr   c                 óÄ   — | j                   |j                  v rH|j                  | j                   «      }|j                  d«      }|j                  | j                  «       y y )NrG   )rX   rJ   rK   rM   rg   rN   s        r   Úappend_documentationz-AppendParamDocumentation.append_documentationÉ   sW   € Ø×Ñ 7×#=Ñ#=Ñ=Ø×)Ñ)¨$×*>Ñ*>Ó?ˆGØ")×"5Ñ"5Ð6KÓ"LÐØ×'Ñ'¨×(8Ñ(8Õ9ð >r   N)r:   r;   r<   r=   rD   rj   rT   r   r   re   re   Â   s   „ Ù7ò&ó:r   re   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚDocumentModifiedShapea2  Modifies the documentation for a shape to reflect runtime transformations.

    This is used when a handler transforms a shape's value at runtime
    (e.g., decoding a JSON string into a dict) and the documentation
    needs to reflect the actual Python type returned rather than the
    modeled type.
    c                 ó<   — || _         || _        || _        || _        y r5   )Ú_shape_nameÚ	_new_typeÚ_new_descriptionÚ_new_example_value)rC   Ú
shape_nameÚnew_typeÚnew_descriptionÚnew_example_values        r   rD   zDocumentModifiedShape.__init__Ù   s#   € ð &ˆÔØ!ˆŒØ /ˆÔØ"3ˆÕr   c                 óV  — | j                   |j                  j                  d«      k(  r| j                  ||«       |j                  D ]`  }|j                  |«      }| j                   |j                  j                  d«      k(  r| j                  ||«       ŒO| j                  ||«       Œb y )NÚshape)rn   Úcontextr   Ú_replace_documentationrJ   rK   Ú(replace_documentation_for_matching_shape)rC   rO   rP   rQ   Úsection_nameÚsub_sections         r   rz   z>DocumentModifiedShape.replace_documentation_for_matching_shapeå   s˜   € ð ×Ñ˜wŸ™×2Ñ2°7Ó;Ò;Ø×'Ñ'¨
°GÔ<Ø#×6Ñ6ò 	ˆLØ!×-Ñ-¨lÓ;ˆKØ×Ñ ;×#6Ñ#6×#:Ñ#:¸7Ó#CÒCØ×+Ñ+¨J¸ÕDà×=Ñ=Ø õñ	r   c                 óŽ  — |j                  d«      s|j                  d«      r;|j                  «        |j                  «        |j                  | j                  «       |j                  d«      s|j                  d«      �rEd}|j
                  D ]  }||vsŒ|j                  |«       Œ | j                  �Jd|j
                  v r<|j                  d«      }|j                  «        |j                  | j                  «       |j                  d«      }|j                  «       j                  d«      j                  d	«      r<|j                  «        |j                  d
|j                  › d| j                  › �«       y |j                  «        |j                  j                  d| j                  › d�«       |j                  d«       y y )NrH   zdocs.response-examplerF   zdocs.response-params)z
param-namerG   zend-structureú
param-typez	end-paramrG   r~   zutf-8z:typez:type z: ú(z) --ú )r(   Úremove_all_sectionsÚ
clear_textÚwriterq   rJ   rL   rp   rK   ÚgetvalueÚdecoder/   ro   ÚstyleÚitalics)rC   rO   rP   Úallowed_sectionsr{   rR   Útype_sections          r   ry   z,DocumentModifiedShape._replace_documentationó   sœ  € Ø× Ñ Ø"ô
à×"Ñ"Ð#:Ô;Ø×'Ñ'Ô)Ø×ÑÔ Ø�M‰M˜$×1Ñ1Ô2à× Ñ Ø!ô
à×"Ñ"Ð#9Õ:ð Ðð !(× :Ñ :ò 9�ð  Ð'7Ò7Ø×*Ñ*¨<Õ8ð	9ð ×%Ñ%Ð1Ø)¨W×-GÑ-GÑGà&-×&9Ñ&9Ø)ó'Ð#ð $×.Ñ.Ô0Ø#×)Ñ)¨$×*?Ñ*?Ô@ð #×.Ñ.¨|Ó<ˆLØ×$Ñ$Ó&×-Ñ-¨gÓ6×AÑAÀ'ÔJØ×'Ñ'Ô)Ø×"Ñ" V¨G¯L©L¨>¸¸D¿N¹NÐ;KÐ#LÕMà×'Ñ'Ô)Ø×"Ñ"×*Ñ*¨Q¨t¯~©~Ð.>¸dÐ+CÔDØ×"Ñ" 3Õ'ðC ;r   N)r:   r;   r<   r=   rD   rz   ry   rT   r   r   rl   rl   Ð   s   „ ñò
4òó+(r   rl   z\nz\rz\tz\bz\f)ú
úú	úúú|c                 ó2   — t         | j                  d«         S )Nr   )Ú	_CONTROLSÚgroup)Úmatchs    r   Ú_CONTROLS_MATCH_HANDLERr”   -  s   € Ü�U—[‘[ “^Ñ$Ð$r   c                 ó6   — t         j                  t        | «      S r5   )Ú_ESCAPE_CONTROLS_REÚsubr”   )Úvalues    r   Úescape_controlsr™   1  s   € Ü×"Ñ"Ô#:¸EÓBÐBr   )ÚreÚcollectionsr   r   r   r-   Ú_DocumentedShaper.   r@   rV   re   rl   r‘   ÚcompileÚjoinr   Úescaper–   r”   r™   rT   r   r   ú<module>r       sµ   ðó 
Ý "ò ò*ò4ñ  Øòó
Ð ô
Ð&ô 
÷:2ñ 2÷B$9ñ $9÷N:ñ :÷N(ñ N(ðd Ø
Ø
Ø
Ø
ñ€	ð !�b—j‘j §¡©#¨b¯i©i¸Ó*CÓ!DÓEÐ ò%óCr   