??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`s/ddlmZmZmZeZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddl Z ddlmZddlmZmZddlmZmZmZddlmZddlmZddlmZede de d „Z!d „Z"d efd „ƒYZ#dS( i(tabsolute_importtdivisiontprint_functionN(t constants(t AnsibleErrortAnsibleFileNotFound(tto_bytest to_nativetto_text(tboolean(t ActionBase(tchecksumc `sŠigd6gd6gd6‰dt‡‡‡‡‡fd†‰t}|rW||ƒ}n|jtjjƒ}|d kr|}n|sœtjj|ƒ}n|j|ƒrºt|ƒ}n|rÚ||ƒ rÚ|d7}n"|jtjjƒsü|d7}ntjj |ƒrFˆ rFitj |ƒd6tjj |ƒd6ˆd<ˆStj |ƒ} t | j| jffƒ} ˆ||| d |ƒˆS( sh Walk a filesystem tree returning enough information to copy the files. This is similar to the _walk_dirs function in ``copy.py`` but returns a dict instead of a tuple for each entry and includes the checksum of a local file if wanted. :arg topdir: The directory that the filesystem tree is rooted at :arg loader: The self._loader object from ActionBase :kwarg decrypt: Whether to decrypt a file encrypted with ansible-vault :kwarg base_path: The initial directory structure to strip off of the files for the destination directory. If this is None (the default), the base_path is set to ``top_dir``. :kwarg local_follow: Whether to follow symlinks on the source. When set to False, no symlinks are dereferenced. When set to True (the default), the code will dereference most symlinks. However, symlinks can still be present if needed to break a circular link. :kwarg trailing_slash_detector: Function to determine if a path has a trailing directory separator. Only needed when dealing with paths on a remote machine (in which case, pass in a function that is aware of the directory separator conventions on the remote machine). :kawrg whether to get the checksum of the local file and add to the dict :returns: dictionary of dictionaries. All of the path elements in the structure are text string. This separates all the files, directories, and symlinks along with import information about each:: { 'files'; [{ src: '/absolute/path/to/copy/from', dest: 'relative/path/to/copy/to', checksum: 'b54ba7f5621240d403f06815f7246006ef8c7d43' }, ...], 'directories'; [{ src: '/absolute/path/to/copy/from', dest: 'relative/path/to/copy/to' }, ...], 'symlinks'; [{ src: '/symlink/target/path', dest: 'relative/path/to/copy/to' }, ...], } The ``symlinks`` field is only populated if ``local_follow`` is set to False *or* a circular symlink cannot be dereferenced. The ``checksum`` entry is set to None if checksum_check=False. tfilest directoriestsymlinksuc `sxˆtj|ƒD]w\}}}x(|D] }tjj||ƒ} tjj|| |ƒ} tjj| ƒrˆjtjj| ƒdˆƒ} ˆr×tjj| ƒr׈dji| d6| d6t || ƒd6ƒqFˆdjitj | ƒd6| d6ƒq&ˆj| dˆƒ} ˆdji| d6| d6t || ƒd6ƒq&Wx:|D]2} tjj|| ƒ} tjj|| |ƒ}tjj| ƒ}tj |ƒ}tjj| ƒrdˆr9|j |j f|krˆdjitj | ƒd6|d6ƒqatƒ}tjj| ƒjtjjƒ}xqtt|ƒddƒD]W}tj d j|| ƒƒ}|j |j f|kr‚Pn|j|j |j fƒqDW|j |j f|krâˆdjitj | ƒd6|d6ƒqaˆd ji|d6|d6ƒt|ƒd }ˆ|||j|ƒd |d |ƒqƒˆdjitj | ƒd6|d6ƒqQˆd ji| d6|d6ƒqQWqWdS(sÊ This is a closure (function utilizing variables from it's parent function's scope) so that we only need one copy of all the containers. Note that this function uses side effects (See the Variables used from outer scope). :arg topdir: The directory we are walking for files :arg rel_offset: Integer defining how many characters to strip off of the beginning of a path :arg parent_dirs: Directories that we're copying that this directory is in. :kwarg rel_base: String to prepend to the path after ``rel_offset`` is applied to form the relative path. Variables used from the outer scope ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ :r_files: Dictionary of files in the hierarchy. See the return value for :func:`walk` for the structure of this dictionary. :local_follow: Read-only inside of :func:`_recurse`. Whether to follow symlinks tdecryptR tsrctdestR Riiÿÿÿÿu/R itrel_basetchecksum_checkN(tostwalktpathtjointislinkt get_real_filetrealpathtisfiletappendt_get_local_checksumtreadlinktstattst_devtst_inotsettdirnametsplittseptrangetlentaddtunion(ttopdirt rel_offsett parent_dirsRRt base_patht sub_foldersR tfilenametfilepatht dest_filepatht real_fileR#tdirpatht dest_dirpathtreal_dirt dir_statst new_parentstparent_dir_listtparentt parent_stattoffset(t_recurseRtloadert local_followtr_files(sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyR<OsX ! +  + !+ +iRRRN(tFalsetendswithRRR%tNoneR#t startswithR'RRtbasenameRt frozensetR R!( R*R=RR-R>ttrailing_slash_detectorRtsource_trailing_slashR;R6tparents((R<RR=R>R?sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt _walk_dirss.2!b    -cC`s|rt|ƒSdSdS(N(R RB(t get_checksumt local_path((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyRÒs t ActionModulecB`sJeZdZd„Zd„Zd„Zd„Zd„Zddd„Z RS(s\cC`stjdtjƒ\}}tj|dƒ}t|ƒ}zDy|j|ƒWn,tk r{}tj |ƒt|ƒ‚nXWd|j ƒX|S(s. Create a tempfile containing defined content tdirtwbN( ttempfiletmkstemptCtDEFAULT_LOCAL_TMPRtfdopenRtwritet Exceptiontremovetclose(tselftcontenttfdtcontent_tempfiletfterr((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt_create_content_tempfileÝs   c C`s%tjdtjƒ}tjj|dƒ}tj|dtj t ƒ}xk|D]c}t |dddƒ}t |dddƒ}t t j|ƒddƒ} |j|| tjƒqLWxk|D]c} t | dddƒ} t | dddƒ}t t j|ƒddƒ} |j| | tjƒqºW|S(NRMs win_copy.ziptwRterrorstsurrogate_or_strictR(ROtmkdtempRQRRRRRtzipfiletZipFilet ZIP_STOREDtTrueRRtbase64t b64encodeRTt ZIP_DEFLATED( RXR R ttmpdirt zip_file_pathtzip_filet directorytdirectory_patht archive_patht encoded_pathtfilet file_path((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt_create_zip_tempfileës  cC`s |dk rtj|ƒndS(N(RBRRV(RXRYR[((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt#_remove_tempfile_if_content_defineds c C`s¹|jjrtdtƒ}|S|jjj|dƒ}|j||ƒ|jj j ƒ} | j td|d|d|ddd|ƒƒ| j d dƒ|jd d d | d |ƒ} | S(NtchangedtsourceRRt_original_basenamet _copy_modetsingletbackupRYt module_nametcopyt module_argst task_vars(t _play_contextt check_modetdictRft _connectiont_shellt join_patht_transfer_filet_tasktargsR|tupdatetpopRBt_execute_module( RXt local_fileRt source_relR~ttmpRzt module_returnttmp_srct copy_argst copy_result((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt_copy_single_files$   c C`s<|jjrtdtƒ}|Sy|j||ƒ}WnEtk r|} tdtdtddt| ƒdtj ƒƒ}|SX|j j |ƒ} |j j j|dƒ} |j| | ƒ|jjjƒ} | jtd| d|d d d |ƒƒ| jd dƒ|jd dd| d|ƒ}tjtjj| ƒƒ|S(NRutfailedtmsgs!failed to create tmp zip file: %st exceptions source.zipRRRxtexplodeRzRYR{R|R}R~(RR€RRfRsRUR@Rt tracebackt format_exct_loaderRR‚RƒR„R…R†R‡R|RˆR‰RBRŠtshutiltrmtreeRRR#( RXRR R R~RRzRŽRltetzip_pathRR((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyt_copy_zip_file"s8   cC`sV|d*krtƒ}ntt|ƒj||ƒ}~|jjjdd*ƒ}|jjjdd*ƒ}|jjjdd*ƒ}t|jjjdt ƒdt ƒ}t|jjjdt ƒdt ƒ}t|jjjdt ƒdt ƒ} t|jjjdt ƒdt ƒ} t|jjjd t ƒdt ƒ} ||d<||dtk rŒ}t |d tforceRRzR“s&src (or content) and dest are requiredR”s&src and content are mutually exclusives)dest must be a file if content is defineds$could not write content tmp file: %sRxtremoteR}R~R R•iÿÿÿÿR RR`Rat folder_copyt operationRFRs%s%st file_copyscould not find src=%s, %storiginal_basenameR tsizetqueryiisfailed to copy file %s: %sRuN(7RBRtsuperRLtrunR†R‡tgetR R@RfRARRR%tWIN_PATH_SEPARATORt isinstancetlistR^tjsontdumpsRURR|RˆR‰RŠt _find_needleRRR—R˜tisdirRRIR™R‚Rƒtpath_has_trailing_slashRRRDR„treplaceR#RRtgetsizeR'Rjt_make_tmp_pathR’RžRtt_remove_tmp_path(RXRR~tresultRvRYRRŸR>R¡RRzR[R]tnew_module_argsttrailing_slashRœt source_filest check_destt source_fullR¦R/t unix_patht file_checksumt query_argst query_returntfile_srct file_dest((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyRªLs  $$$$$   $  '                "    A, ,   N( t__name__t __module__R¬R^RsRtR’RžRBRª(((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyRLÙs     *($t __future__RRRttypet __metaclass__RgR¯Rtos.pathRšROR—RctansibleRRQtansible.errorsRRtansible.module_utils._textRRRt)ansible.module_utils.parsing.convert_boolR tansible.plugins.actionR tansible.utils.hashingR RfRBR@RIRRL(((sC/usr/lib/python2.7/site-packages/ansible/plugins/action/win_copy.pyts$        ·