%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/lib/python2.7/site-packages/salt/client/ssh/wrapper/
Upload File :
Create Path :
Current File : //proc/227033/root/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyo

�
���^c@@s�dZddlmZmZddlZddlZddlZddlmZddl	Z
ddlZ
ddlZ
ddl
Z
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlZ
ddlmZidd6Zeje�Ze d�Z!dd	�Z#dd
�Z$d�Z%d�Z&d
�Z'd�Z(dddd�Z)e d�Z*d�Z+d�Z,d�Z-d�Z.dd�Z/d�Z0dd�Z1dd�Z2dd�Z3dd�Z4dd�Z5dd�Z6dd�Z7d �Z8d!�Z9de d"�Z:ddd#�Z;ddd$�Z<d%�Z=dd&�Z>dS('s
Create ssh executor system
i(tabsolute_importtprint_functionN(tSaltInvocationError(tsixtapplytapply_c
C@s�tjjjj|t|jdd�tjdd���}tjjjjt	d||t
|d�}tjjj
|td�}djtd||td�}tjjjt|dt	dd	tj|�}|jj|d
jtd��|j�\}	}
}ytj|�Wnttfk
r1nXy5tjjjtjjj|	dtjjj��SWn9tk
r�}tj d|	|
�tj t!|��nXtjjj|	�S(
sC
    Function to run a state with the given chunk via salt-ssh
    textra_filerefstt
fileclienttid_t	hash_types?state.pkg {0}/salt_state.tgz test={1} pkg_sum={2} hash_type={3}tthin_dirtfsclienttminion_optss{0}/salt_state.tgztobject_hooksJSON Render failed for: %s
%s("tsalttclienttsshtstatetlowstate_file_refst_merge_extra_filerefstgett__opts__tprep_trans_tart__context__t
__pillar__tutilst	hashutilstget_hashtformattSinglet__salt__R
tshelltsendt	cmd_blocktostremovetOSErrortIOErrortdatatdecodetjsontloadstencode_dictt	Exceptiontlogterrortstr(
tchunkst	st_kwargstkwargsttestt	file_refst	trans_tart
trans_tar_sumtcmdtsingletstdouttstderrt_te((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt
_ssh_state'sJ


		5cC@sSdtd<t|t�r'dtd<dStjjj|d|�sOdtd<ndS(sJ
    Set the return code based on the data back from the state system
    itretcodeiNt	highstatei(Rt
isinstancetlistRRRtcheck_result(tretR?((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_set_retcode\s

cC@s?|jd�rtS|dk	r%|nt}d|kr;tStS(s�
    Check the pillar for errors, refuse to run the state if there are errors
    in the pillar and return the pillar errors
    tforcet_errorsN(RtTruetNoneRtFalse(R2tpillartpillar_dict((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt
_check_pillarlscC@sZ|dkr$tjjjt�}nt|�}x#|rUtjd�t|�}q3WdS(sF
    Wait for all previously started state jobs to finish running
    iN(	RHRRtjidtgen_jidRt_prior_running_statesttimetsleep(RMtstates((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_waitys	
cG@s�g}xj|D]b}t|tj�rG|ro|j|jd��qoq
t|t�r
|ro|j|�qoq
q
Wdj|�S(s<
    Takes a list of filerefs and returns a merged list
    t,(R@Rtstring_typestextendtsplitRAtjoin(targsRCtarg((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyR�s
cC@s.x'|D]}d|krd|d<qqWdS(sJ
    Set "slsmod" keys to None to make
    low_data JSON serializable
    tslsmodN(RH(tlow_datati((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_cleanup_slsmod_low_data�s
cC@sTxMtj|�D]<}d|kr|dd}d|krLd|d<qLqqWdS(sK
    Set "slsmod" keys to None to make
    high_data JSON serializable
    t	stateconfiR[N(Rt
itervaluesRH(t	high_dataR]tstateconf_data((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_cleanup_slsmod_high_data�s
tbasecK@sctj}ttd<tj|jdi��tjj	j
t|�}tjjj	j
|tttd�}|j�t|tj�r�|jd�}n|ji||6�\}}	|r
t|tj�r�|jd�}nd|kr�|dj|�q
||d<n|j	j|�\}}
|	|
7}	|	|j	j|�7}	|	rL|	S|j	j|�\}}|	|7}	|j	j|�}|	r�|	S|j	j|�}tjjj	j|t|jdd�|jdd���}
tjj||jdd	��}|jd}t |�tjjj	j!td||
t|d
|�}tjj"j#||d�}dj$|d
|||d�}tjjj%||dtddtj&|�}|j'j(|dj$|d
��|j)�\}}}yt*j+|�Wnt,t-fk
rnXytjj.j/|�SWn<t0k
r^}t1j2d||�t1j2tj3|��nX|S(s2
    Create the seed file for a state.sls run
    tgrainsRJRRTt__exclude__RRtrostertflatR	R
s?state.pkg {0}/salt_state.tgz test={1} pkg_sum={2} hash_type={3}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%s(4RR2t
__grains__RRtupdateRRRRtget_sls_optsRRtSSHHighStateRtpush_activeR@RRURWtrender_highstateRVtreconcile_extendtverify_hightrequisite_int
apply_excludetcompile_high_dataRRRgtRostertoptsR^RRRRRR
R R!R"R#R$R%R&R)R*R,R-R.t	text_type(tmodstsaltenvR3texcludeR2R1Rutst_Raterrorst
ext_errorst
req_in_errorsR0R4Rgt
roster_grainsR5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytsls�s�	





!

	

		cC@syg}|r|Stdd�}xR|D]J}dj|d|dtjjj|d�|d�}|j|�q'W|S(s
    Return a list of strings that contain state return data if a state function
    is already running. This function is used to prevent multiple state calls
    from being run at the same time.

    CLI Example:

    .. code-block:: bash

        salt '*' state.running
    ssaltutil.is_runningsstate.*sLThe function "{0}" is running as PID {1} and was started at {2} with jid {3}tfuntpidRM(RRRRRMtjid_to_timetappend(t
concurrentRCtactiveR'terr((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytrunnings

cC@sxg}tdd�}x[|D]S}yt|d�}Wntk
rMqnX|t|�kr|j|�qqW|S(s�
    Return a list of dicts of prior calls to state functions.  This function is
    used to queue state calls so only one is run at a time.
    ssaltutil.is_runningsstate.*RM(Rtintt
ValueErrorR�(RMRCR�R'tdata_jid((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyRO#s

cC@sO|rt|jd��n/td|jdt��}|rKdtd<|SdS(sy
    Utility function to queue the state run if requested
    and to check for conflicts in currently running states
    t	__pub_jidR�iR>N(RSRR�RIR(tqueueR2tconflict((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_check_queue5s
cC@s,tddkr(|dtdkr(tSdS(Nt__clis	salt-callt	pillarenv(RRRH(Ru((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_get_initial_pillarCscK@sOtj}ttd<|g}tjjjjtt	tt
d�}x5|D]-}|jd�sg|dn|d|d<qHW|jj|�}|r�|Stjjjj
|t|jdd�tjdd���}tjjttjdd��}|jd}	tjjjjt
d||t	|d	|	�}
tjjj|
td
�}djtd|td
�}tjjjt|d
t
ddtj|�}
|
jj|
djtd��|
j�\}}}ytj|
�Wnttfk
r�nXytjj j!|�SWn<t"k
rJ}t#j$d||�t#j$t%j&|��nX|S(s�
    Execute a single low data call
    This function is mostly intended for testing the state system

    CLI Example:

    .. code-block:: bash

        salt '*' state.low '{"state": "pkg", "fun": "installed", "name": "vi"}'
    ReRt__id__tnameRRRgRhR	R
s6state.pkg {0}/salt_state.tgz pkg_sum={1} hash_type={2}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%s('RR2RiRRRRRRlRRRtverify_dataRRRgRtRuRRRRRRR
R R!R"R#R$R%R&R)R*R,R-R.RRv(R'R2R1R0RztchunkR�R4RgR~R5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytlowIsh	
	

+!
	

		cK@sUt}|dkrKtjjjd||�r6t}qQtjdd�}n|}|S(s8
    Determine the correct value for the test flag.
    R3N(RGRHRRRYt	test_modeRR(R3R2RC((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt_get_test_value�s	cK@sItj|jdi��tj}ttd<tjj	j
t|�}tjjj	j
|tttd�}|j�|j	j|�}tjjj	j|t|jdd�|jdd���}tjj||jdd��}|jd}t|�tjjj	jtd||t|d|�}	tjjj|	|d	�}
d
j|d|
|d	�}tjjj||dtdd
tj|�}|jj|	dj|d��|j�\}
}}yt j!|	�Wnt"t#fk
r�nXytjj$j%|
�SWn<t&k
rD}t'j(d|
|�t'j(t)j*|��nX|
S(s�
    Execute the compound calls stored in a single set of high data
    This function is mostly intended for testing the state system

    CLI Example:

    .. code-block:: bash

        salt '*' state.high '{"vim": {"pkg": ["installed"]}}'
    RJReRRRRgRhR	R
s6state.pkg {0}/salt_state.tgz pkg_sum={1} hash_type={2}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%s(+RRjRRR2RiRRRRRkRRRlRRmRsRRRgRtRuR^RRRRRR
R R!R"R#R$R%R&R)R*R,R-R.RRv(R'R2R1RuRzR0R4RgR~R5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pythigh�sf	


!

	

		cK@s|rt||�St|�S(sl
    .. versionadded:: 2015.5.3

    Apply states! This function will call highstate or state.sls based on the
    arguments passed in, state.apply is intended to be the main gateway for
    all state executions.

    CLI Example:

    .. code-block:: bash

        salt '*' state.apply
        salt '*' state.apply test
        salt '*' state.apply test,pkgs
    (RR?(RwR2((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyR�s
cK@s-t|d<t||�}tjjtdd�}tjjt�}t	�}|j
ii|d6|d6|d6|jdd�6�tjj
jd	���yatjjj�r�td
dj|��ntjj
j|d��}|j||�Wd
QXWn'ttfk
r"tjd|�nXWd
QX|S(s=
    .. versionadded:: 2017.7.3

    Request that the local admin execute a state run via
    `salt-call state.run_request`
    All arguments match state.apply

    CLI Example:

    .. code-block:: bash

        salt '*' state.request
        salt '*' state.request test
        salt '*' state.request test,pkgs
    R3tcachedirsreq_state.pttest_runRwR2R�tdefaulti?scmd.runsattrib -R "{0}"sw+bNs8Unable to write state request file %s. Check permission.(RGRR#tpathRXRRtpayloadtSerialt
check_requestRjRRtfilest	set_umasktplatformt
is_windowsRRtfopentdumpR&R%R-R.(RwR2RCtnotify_pathtserialtreqtfp_((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytrequests(
	cC@s�tjjtdd�}tjjt�}tjj|�rtjj	j
|d��}|j|�}WdQX|r{||S|SiS(s�
    .. versionadded:: 2017.7.3

    Return the state request information, if any

    CLI Example:

    .. code-block:: bash

        salt '*' state.check_request
    R�sreq_state.ptrbN(R#R�RXRRR�R�tisfileRR�R�tload(R�R�R�R�R�((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyR�/scC@sItjjtdd�}tjjt�}tjj|�sAtS|suytj	|�WqEt
tfk
rqqEXn�t�}||kr�|j
|�ntStjjjd���yatjjj�r�tddj|��ntjjj|d��}|j||�WdQXWn't
tfk
r>tjd|�nXWdQXtS(	s�
    .. versionadded:: 2017.7.3

    Clear out the state execution request without executing it

    CLI Example:

    .. code-block:: bash

        salt '*' state.clear_request
    R�sreq_state.pi?scmd.runsattrib -R "{0}"sw+bNs8Unable to write state request file %s. Check permission.(R#R�RXRRR�R�R�RGR$R&R%R�tpopRIRR�R�R�R�RRR�R�R-R.(R�R�R�R�R�((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt
clear_requestHs0	R�cK@s�t�}||kriS||}d|ks;d|kr?iS||dj|�d|dkrx|djd�n|r�t|d|d�}y$tjtjjtdd��Wnt	t
fk
r�nX|SiS(s�
    .. versionadded:: 2017.7.3

    Execute the pending state request

    CLI Example:

    .. code-block:: bash

        salt '*' state.run_request
    RwR2R3R�sreq_state.p(R�RjR�RR#R$R�RXRR&R%(R�R2R�tn_reqRC((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytrun_requestrs"	
$cK@sttj|jdi��tj}ttd<tjj	j
t|�}tjjj	j
|tttd�}|j�|j�}tjjj	j|t|jdd�|jdd���}x+|D]#}t|t�s�dtd<|Sq�Wtjj||jdd	��}|jd}	t|�tjjj	jtd||t|d
|	�}
tjjj|
|d�}dj|d
|||d�}tjjj||dtddtj|�}
|
jj |
dj|d
��|
j!�\}}}yt"j#|
�Wnt$t%fk
rnXytjj&j'|�SWn<t(k
ro}t)j*d||�t)j*t+j,|��nX|S(s<
    Retrieve the state data from the salt master for this minion and execute it

    CLI Example:

    .. code-block:: bash

        salt '*' state.highstate

        salt '*' state.highstate exclude=sls_to_exclude
        salt '*' state.highstate exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
    RJReRRRiR>RgRhR	R
s?state.pkg {0}/salt_state.tgz test={1} pkg_sum={2} hash_type={3}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%s(-RRjRRR2RiRRRRRkRRRlRRmtcompile_low_chunksRRR@tdictRgRtRuR^RRRRRR
R R!R"R#R$R%R&R)R*R,R-R.RRv(R3R2R1RuRzR0R4R�RgR~R5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyR?�sp
	




!

	

		cK@s�tj|jdi��tj}ttd<tjj	j
t|�}tjjjd||�rlt
|d<ntjdd�|d<tjjj	j|tttd�}tjjd|�|jd<|j�|j�}tjjj	j|t|jdd�|jdd���}tjj||jd	d
��}|jd}	t|�tjjj	jtd||t|d|	�}
tjjj |
|d�}d
j!|d|||d�}tjjj"||dtddtj#|�}
|
j$j%|
dj!|d��|
j&�\}}}ytj'|
�Wnt(t)fk
rEnXytjj*j+|�SWn<t,k
r�}t-j.d||�t-j.t/j0|��nX|S(s@
    Execute a specific top file instead of the default

    CLI Example:

    .. code-block:: bash

        salt '*' state.top reverse_top.sls
        salt '*' state.top reverse_top.sls exclude=sls_to_exclude
        salt '*' state.top reverse_top.sls exclude="[{'id': 'id_to_exclude'}, {'sls': 'sls_to_exclude'}]"
    RJReR3Rssalt://t	state_topRRRgRhR	R
s?state.pkg {0}/salt_state.tgz test={1} pkg_sum={2} hash_type={3}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%sN(1RRjRRR2RiRRRRRkRYR�RGRHRRRlRR#R�RXRuRmR�RRRgRtR^RRRRRR
R R!R"R$R%R&R)R*R,R-R.RRv(ttopfnR3R2R1RuRzR0R4RgR~R5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyttop�sp	



!

	

		cK@skttd<tjjjt|�}tjjjj|t	t
td�}|j�|j
�}t|�|S(s�
    Retrieve the highstate data from the salt master and display it

    CLI Example:

    .. code-block:: bash

        salt '*' state.show_highstate
    ReR(RiRRRRRkRRRlRRRRmtcompile_highstateRc(R2RuRzR0((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytshow_highstate6s




cK@skttd<tjjjt|�}tjjjj|t	t
td�}|j�|j
�}t|�|S(s�
    List out the low data that will be applied to this minion

    CLI Example:

    .. code-block:: bash

        salt '*' state.show_lowstate
    ReR(RiRRRRRkRRRlRRRRmR�R^(R2RuRzR0((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt
show_lowstateMs




cK@s)tj}t||�}|dk	r(|Stjdd�}tjjj	t|�}t
||�|d<|ddkr�d|d<ntjjjj
ttttd�}	t||	jd�s�dtd<dg}
|
td	7}
|
St|tj�r|jd
�}n|	j�|	ji||d6�\}}
|
|	jj|�7}
|	jj|�\}}|rt|
j|�n|
r�dtd<|
S|	jj|�}g|D]$}|jdd
�|kr�|^q�}|s�tdj|||d���nt|||d|�}t|dt �|td<|S(s�
    Call a single ID from the named module(s) and handle all requisites

    The state ID comes *before* the module ID(s) on the command line.

    id
        ID to call

    mods
        Comma-delimited list of modules to search for given id and its requisites

    .. versionadded:: 2017.7.3

    saltenv : base
        Specify a salt fileserver environment to be used when applying states

    pillarenv
        Specify a Pillar environment to be used when applying states. This
        can also be set in the minion config file using the
        :conf_minion:`pillarenv` option. When neither the
        :conf_minion:`pillarenv` minion config option nor this CLI argument is
        used, all Pillar environments will be merged together.

    CLI Example:

    .. code-block:: bash

        salt '*' state.sls_id my_state my_module

        salt '*' state.sls_id my_state my_module,a_common_module
    R3RxRdRRJiR>s4Pillar failed to render with the following messages:RFRTiR�Rs?No matches for ID '{0}' found in SLS '{1}' within saltenv '{2}'R?N(!RR2R�RHRRRRRRkR�RRRlRRRLRuR@RRURWRmRnRpRqRVRsRRR=RDR?(R	RwR3R�R2R1R�t	orig_testRuRzR�t
split_modsthigh_R{R}R0txR�RC((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytsls_iddsV 	


	
 
1	
c
K@svtj|jdi��ttd<tjjjt|�}tjj	j
d||�rct|d<ntjdd�|d<tj
jjj|tttd�}|j�t|tj�r�|jd�}n|ji||6�\}}|jj|�\}}||7}||jj|�7}|r*|S|jj|�\}}	||	7}|jj|�}|rh|St|�|S(s�
    Display the state data from a specific sls or list of sls files on the
    master

    CLI Example:

    .. code-block:: bash

        salt '*' state.show_sls core,edit.vim dev
    RJReR3RRTN(RRjRRiRRRRRkRYR�RGRHRRRlRRRmR@RRURWRnRoRpRqRrRc(
RwRxR3R2RuRzRaR{R|R}((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytshow_sls�s6






cK@s�tj|jdi��ttd<tjjjt|�}tjj	j
d||�rct|d<ntjdd�|d<tj
jjj|tttd�}|j�t|tj�r�|jd�}n|ji||6�\}}|jj|�\}}||7}||jj|�7}|r*|S|jj|�\}}	||	7}|jj|�}|rh|S|jj|�}
t|
�|
S(s�
    Display the low state data from a specific sls or list of sls files on the
    master.

    .. versionadded:: 2016.3.2

    CLI Example:

    .. code-block:: bash

        salt '*' state.show_sls core,edit.vim dev
    RJReR3RRTN(RRjRRiRRRRRkRYR�RGRHRRRlRRRmR@RRURWRnRoRpRqRrRsR^(RwRxR3R2RuRzRaR{R|R}RC((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytshow_low_sls�s8







cK@s�ttd<tjjjt|�}tjjjj|t	t
td�}|j�}g}||j
|�7}|rv|S|j|�}|S(s�
    Return the top data that the minion will use for a highstate

    CLI Example:

    .. code-block:: bash

        salt '*' state.show_top
    ReR(RiRRRRRkRRRlRRRtget_toptverify_topsttop_matches(R2RuRzttop_dataR{tmatches((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pytshow_tops


cK@s�tj}ttd<|jd�}t|�dkrBdtd<dS|ji|dd6|dd	6|d
6|d6�tj	j
jt|�}tj	jj
d||�r�t|d<ntjdd�|d<tj|jd
i��tjjj
j|t�}|j|�}|r dtd<|S|g}	tjjj
j|	t|jdd�|jdd���}
tjj||jdd��}|jd}tjjj
jtd|	|
t|d|�}
tj	jj|
|d�}dj|d|||d�}tjjj||dtddtj |�}|j!j"|
dj|d��|j#�\}}}yt$j%|
�Wnt&t'fk
r�nXytj	j(j)|�SWn<t*k
r�}t+j,d||�t+j,t-j.|��nX|S(s�
    .. versionadded:: 2015.5.0

    Execute a single state function with the named kwargs, returns False if
    insufficient data is sent to the command

    By default, the values of the kwargs will be parsed as YAML. So, you can
    specify lists values, or lists of single entry key-value maps, as you
    would in a YAML salt file. Alternatively, JSON format of keyword values
    is also supported.

    CLI Example:

    .. code-block:: bash

        salt '*' state.single pkg.installed name=vim

    Ret.iiR>sInvalid function passediRR�R�R�R3RJRRRgRhRR	R
s?state.pkg {0}/salt_state.tgz test={1} pkg_sum={2} hash_type={3}RRR
s{0}/salt_state.tgzsJSON Render failed for: %s
%sN(/RR2RiRRWtlenRRjRRRRkRYR�RGRRHRRRtSSHStateR�RRRgRtRuRRRRRR
R R!R"R#R$R%R&R)R*R,R-R.RRv(R�R�R3R2R1tcompsRuRzR�R0R4RgR~R5R6R7R8R9R:R;R<((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyR81sz	



	!
	

		(?t__doc__t
__future__RRR#RPtloggingtsalt.exceptionsRtsalt.client.ssh.shellRtsalt.client.ssh.statetsalt.utils.argstsalt.utils.datatsalt.utils.filestsalt.utils.hashutilstsalt.utils.jidtsalt.utils.jsontsalt.utils.platformtsalt.utils.statetsalt.utils.thintsalt.rostert
salt.statetsalt.loadertsalt.miniontsalt.logtsalt.extRt__func_alias__t	getLoggert__name__R-RIR=RHRDRLRSRR^RcRR�ROR�R�R�R�R�RR�R�R�R�R?R�R�R�R�R�R�R�R8(((sA/usr/lib/python2.7/site-packages/salt/client/ssh/wrapper/state.pyt<module>sl
4
			
	[				K	K+*SR		[*.	

Zerion Mini Shell 1.0