File: //snap/core22/2133/usr/lib/python3/dist-packages/cloudinit/__pycache__/safeyaml.cpython-310.pyc
o
x[hm( � @ s d dl Z d dlmZ d dlmZ d dlmZmZmZm Z d dl
Z
d dlmZ e �
e�ZG dd� d�Zdd � Zd
ee fdd�Zd
edee dee fdd�ZG dd� de
j�ZG dd� de
jj�Ze�d�de eeeef f fdd��Ze�d�ddd��ZdS )� N)�defaultdict)�chain)�Any�Dict�List�Tuple)�performancec @ s6 e Zd Zdedejdejfdd�Zdd� Zdd � Zd
S )�SchemaPathMarks�path�
start_mark�end_markc C s || _ || _|| _d S �N)r
r r )�selfr
r r � r �4/usr/lib/python3/dist-packages/cloudinit/safeyaml.py�__init__ s
zSchemaPathMarks.__init__c C sp |j j| j jk s|jj| jjkrdS |j j| j jkr$|j j| j jk r$dS |jj| jjkr6|jj| jjkr6dS dS )z;Return whether other start/end marks are within self marks.FT)r �liner �column�r �otherr r r �__contains__ s zSchemaPathMarks.__contains__c C s@ | j j|j jko| j j|j jko| jj|jjko| jj|jjkS r
)r r r r r r r r �__eq__/ s ���zSchemaPathMarks.__eq__N) �__name__�
__module__�__qualname__�str�yaml�Markr r r r r r r r s r c C s0 |d d d� D ]}| |v r| |ks| S qd S )N���r )�
child_mark�marks�markr r r �_find_closest_parent8 s
�r"