+
    i                     l    ^ RI t ^ RIHtHt RtRtRt ! R R4      t ! R R	]4      tR
 t	R t
R tR tR# )    N)importer
type_utilszlist()+dict()+str()m_Mergerc                   ,   a  ] tR t^t o R tR tRtV tR# )UnknownMergerc                    V# N )self_meth_wantedvalue_merge_withs   &&&&</usr/lib/python3/dist-packages/cloudinit/mergers/__init__.py_handle_unknownUnknownMerger._handle_unknown   s        c                    \         P                  ! V4      pVP                  4       pR V,          pRpW.p\        W4      '       d   \	        W4      pV'       g   V P
                  pVP                  ^ V4       V! V!  # )z_on_%sN)r   obj_namelowerhasattrgetattrr   insert)r   source
merge_with	type_namemethod_namemethargss   &&&    r   mergeUnknownMerger.merge   sp    ''/	OO%	),#4%%4-D''DKK;'T{r   r   N)__name__
__module____qualname____firstlineno__r   r    __static_attributes____classdictcell____classdict__s   @r   r   r      s      r   r   c                   6   a  ] tR t^,t o RR ltR tR tRtV tR# )LookupMergerNc                V    \         P                  V 4       Vf
   . V n        R # Wn        R # r
   )r   __init___lookups)r   lookupss   &&r   r-   LookupMerger.__init__-   s!    t$?DM#Mr   c                :    R \        V P                  4      ,          # )zLookupMerger: (%s))lenr.   )r   s   &r   __str__LookupMerger.__str__4   s    #s4=='9::r   c                    R pV P                    F!  p\        WQ4      '       g   K  \        WQ4      p M	  V'       g   \        P	                  WW#4      # V! W#4      # r
   )r.   r   r   r   r   )r   meth_wantedr   r   r   mergers   &&&&  r   r   LookupMerger._handle_unknown<   sY    mmFv++ v3 $  005  E&&r   )r.   r
   )	r"   r#   r$   r%   r-   r3   r   r&   r'   r(   s   @r   r+   r+   ,   s     $;' 'r   r+   c                    . pV P                  R R4      pVf   V P                  RR4      pVf   V# \        V\        4      '       d   \        V4      # V F  p\        V\        4      '       d4   VR,          pVP                  RR4      P                  4       pVR,          pM%V^ ,          p\        V4      ^8  d   VR,          pM. pV'       g   K{  VP                  WE34       K  	  V# )	merge_howN
merge_typename-_settings:   NN)	pop
isinstancestrstring_extract_mergersdictreplacestripr2   append)configparsed_mergersraw_mergersmr<   optss   &     r   dict_extract_mergersrN   K   s    N**[$/Kjjt4+s##%k22a$  V9D<<S)//1DZ=DQ4D1v{u4!!4,/  r   c                 ,   . pV P                  R 4       F  pVP                  4       P                  4       pVP                  RR4      pV'       g   K=  \        P
                  ! RV4      pV'       g   RV,          p\        V4      hVP                  4       w  r%VP                  4       P                  R4      pV Uu. uF8  qfP                  4       '       g   K  VP                  4       P                  4       NK:  	  ppVP                  W%34       K  	  V# u upi )+r=   r>   z#(^[a-zA-Z_][A-Za-z0-9_]*)\((.*?)\)$z2Matcher identifier '%s' is not in the right format,)	splitr   rG   rF   rematch
ValueErrorgroupsrH   )r:   rJ   m_namerT   msgm_opsrL   s   &      r   rD   rD   d   s    N//#& %%'S)?HFC S/!,,.##C(,1?EqWWY""E?vo.! '"  @s   9D"Dc                  2    \        \        \        4      4      # r
   )tuplerD   DEF_MERGE_TYPEr   r   r   default_mergersr]   z   s    '788r   c                    . pV  F  w  r#VP                  \        4      '       g   \        \        V4      ,           p\        P                  ! V\
        .\        .4      w  rEV'       g   R V: R\        : RV: R2p\        V4      h\        P                  ! V^ ,          4      p\        V\        4      pVP                  W34       K  	  . p	\        V	4      p
V F  w  rV	P                  V! W4      4       K  	  V
# )z$Could not find merger module named 'z' with attribute 'z' (searched ))
startswithMERGER_PREFIXrC   r   find_moduler"   MERGER_ATTRImportErrorimport_moduler   rH   r+   )rJ   mergers_to_berW   rY   merger_locslooked_locsrX   modmod_attrmergersrootattrrM   s   &            r   	constructrn   ~   s    M'  //"S[0F#+#7#7XJ$
  { ;5 
 c""((Q8CsK0H  (!23! ($ G D#
tD'( $Kr   )rS   	cloudinitr   r   r\   ra   rc   r   r+   rN   rD   r]   rn   r   r   r   <module>rp      sF    
 *& 8'= '>2,9r   