o
    dil                     @   sD   d dl mZmZmZmZmZmZ G dd deZG dd deZdS )    )
RawHandlerResourceHandlerbuild_identifiersbuild_empty_responseall_not_nonejmespathc                   @   s   e Zd Zdd ZdS )AIOResourceHandlerc              	      s  | j j}| jj|}| jj||| jdI dH }|}d}| jr't	| j|}t
t| j j|||}	dd |	 D }
|
r_g }tt|
d D ]}d}|rQ|| }|| |||	| qG|S t|	 ro| |||	|}|S d}| jdurt| j| j| jj}|S )a,  
        :type parent: ServiceResource
        :param parent: The resource instance to which this action is attached.
        :type params: dict
        :param params: Request parameters sent to the service.
        :type response: dict
        :param response: Low-level operation response.
        )resource_namesingle_resource_json_definitionservice_contextNc                 S   s   g | ]	}t |tr|qS  )
isinstancelist).0vr   r   O/home/ubuntu/.local/lib/python3.10/site-packages/aioboto3/resources/response.py
<listcomp>/   s    z/AIOResourceHandler.__call__.<locals>.<listcomp>r   )resource_modeltyper   resource_json_definitionsgetfactoryload_from_definitionsearch_pathr   searchdictr   identifiersvaluesrangelenappendhandle_response_itemr   operation_namer   service_model)selfparentparamsresponser	   json_definitionresource_clsraw_responsesearch_responser   pluraliresponse_itemr   r   r   __call__   sZ   	
zAIOResourceHandler.__call__N)__name__
__module____qualname__r/   r   r   r   r   r      s    r   c                       s   e Zd Z fddZ  ZS )AIORawHandlerc                    s   t t| |||S )N)superr3   r/   )r$   r%   r&   r'   	__class__r   r   r/   [   s   zAIORawHandler.__call__)r0   r1   r2   r/   __classcell__r   r   r5   r   r3   Z   s    r3   N)	boto3.resources.responser   r   r   r   r   r   r   r3   r   r   r   r   <module>   s     V