File: //lib/python3.9/site-packages/ansible/inventory/__pycache__/manager.cpython-39.pyc
a
�)g2s � @ st d dl mZmZmZ eZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlm
Z
d dlmZ d dlmZ d dlmZmZmZ d dlmZ d dlmZ d d lmZmZ d d
lmZ d dl m!Z! d dl"m#Z# d d
l$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+ e'� Z,g d�Z-dd� ej.D �Z/dd� ej0D �Z1e �2d�3e-e/ e1 ��Z4e �2de j5�Z6dd� Z7dd� Z8G dd� de9�Z:dS )� )�absolute_import�division�print_functionN)�
attrgetter)�shuffle)� constants)�AnsibleError�AnsibleOptionsError�AnsibleParserError)�
InventoryData)�string_types)�to_bytes�to_text)�
parse_address)�inventory_loader)�deduplicate_list)�unfrackpath)�Display)�combine_vars)�get_vars_from_inventory_sources)s ^\.s ^host_vars$s ^group_vars$s ^vars_plugins$c C s g | ]}t |��qS � )r
��.0�xr r �=/usr/lib/python3.9/site-packages/ansible/inventory/manager.py�
<listcomp>0 � r c C s g | ]}d t t�|�� �qS )s %s$)r
�re�escaper r r r r 1 r � |a> ^
(.+) # A pattern expression ending with...
\[(?: # A [subscript] expression comprising:
(-?[0-9]+)| # A single positive or negative number
([0-9]+)([:-]) # Or an x:y or x: range.
([0-9]*)
)\]
$
c C sp g }g }g }| D ]D}|sq|d dkr2|� |� q|d dkrJ|� |� q|� |� q|g krddg}|| | S )zS takes a list of patterns and reorders them by modifier to apply them consistently r �!�&�all)�append)�patternsZpattern_regularZpattern_intersectionZpattern_exclude�pr r r �order_patternsB s r&