grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026Ë  ÒüÊ®Uã óâ— dZdZdZddlmZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZddlZ ddlZ ddlZeeefZgd¢ZdZdZed zZd Zd Zd Zd Zd ZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1e1Z2e e!e"e#e&e'e(e$e%e)e*e+f Z3e e!e(e+fZ4e)e*e+fZ5dZ6hd£Z7e8e8e8e9e9e9d œZ:ejvd!k(rd"Zd$„Z?d%„Z@d&e2fd'„ZAd(„ZBdedfd)„ZCd*„ZDGd+„d,eE«ZFGd-„d.eF«ZGGd/„d0eF«ZHGd1„d2eF«ZIGd3„d4eF«ZJGd5„d6eF«ZKGd7„d8eK«ZLGd9„d:eK«ZMGd;„deK«ZOGd?„d@eK«ZPGdA„dB«ZQGdC„dD«ZRGdE„dFeS«ZTGdG„dHeS«ZUGdI„dJej¬«ZWGdK„dLeF«ZXGdM„dNeX«ZYGdO„dPeX«ZZGdQ„dReX«Z[GdS„dTeX«Z\GdU„dVeX«Z]GdW„dXeX«Z^eXeeGfZ_dfdY„Z`dZ„Zad[„Zbd\„Zceaebecd]œZdeS«ZeejÌd^«ZgGd_„d`eS«ZhGda„dbeS«Zidc„ZjeijZdd„Zkeldek(rek«yy#e$rdZY�Œ$wxYw#e$rdZY�Œ-wxYw)gz0.9.0u"Lars Gustäbel (lars@gustaebel.de)u4Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.é)ÚopenN)ÚTarFileÚTarInfoÚ is_tarfileÚTarErrorÚ ReadErrorÚCompressionErrorÚ StreamErrorÚ ExtractErrorÚ HeaderErrorÚENCODINGÚ USTAR_FORMATÚ GNU_FORMATÚ PAX_FORMATÚDEFAULT_FORMATrÚfully_trusted_filterÚ data_filterÚ tar_filterÚ FilterErrorÚAbsoluteLinkErrorÚOutsideDestinationErrorÚSpecialFileErrorÚAbsolutePathErrorÚLinkOutsideDestinationErroróiésustar sustar00édé›ó0ó1ó2ó3ó4ó5ó6ó7óLóKóSóxógóXéé)ÚpathÚlinkpathÚsizeÚmtimeÚuidÚgidÚunameÚgname>r/r6r5r0)ÚatimeÚctimer2r3r4r1Úntúutf-8cóx— |€ td«‚|j||«}|d||t|«z tzzS)Nzmetadata cannot contain None)Ú ValueErrorÚencodeÚlenÚNUL)ÚsÚlengthÚencodingÚerrorss ú./opt/alt/python312/lib64/python3.12/tarfile.pyÚstnrEŸsF€ðà€yÜÐ7Ó8Ð8Ø �‰�˜6Ó"€AØ ˆWˆfˆ:˜¤# a£&™¬CÑ/Ñ /Ð/ócó^— |jd«}|dk7r|d|}|j||«S)Nréÿÿÿÿ)ÚfindÚdecode)r@rBrCÚps rDÚntsrL§s7€ðà �‰ˆu‹ €A؈B‚wØ ˆbˆqˆEˆØ �8‰8�H˜fÓ %Ð%rFcó8— |ddvrMd}tt|«dz «D]}|dz}|||dzz }Œ|ddk(rdt|«dz z|z }|S t|dd«}t|j «xsd d«}|S#t $r t d «‚wxYw) Nr)é€éÿr-érOéÚasciiÚstrictÚ0úinvalid header)Úranger>rLÚintÚstripr<ÚInvalidHeaderError)r@ÚnÚis rDÚntir\¯sÇ€ðð ˆ�tˆ~ÑØ ˆÜ”s˜1“v ‘zÖ"ˆAØ �!‰GˆAØ ��1�q‘5‘‰M‰Að#ð ˆQ‰4�5Š=Øœ#˜a›& 1™*Ñ%¨Ñ)Ð*ˆAð €Hð  7Ü�A�w Ó)ˆAÜ�A—G‘G“IÒ$  aÓ(ˆAð €Høôò 7Ü$Ð%5Ó6Ð 6ð 7ús Á+BÂBrPcóœ— |}t|«}d|cxkr d|dz zkr nntd|dz |fzd«tz}|S|tk(rzd|dz z |cxkr d|dz zkrbn td «‚|dk\r t dg«}nt dg«}d|z|z}t |dz «D]}|j d|dz«|dz}Œ|Std «‚) NrrPr-z%0*orRrQrNrOzoverflow in number field)rWÚbytesr?rÚ bytearrayrVÚinsertr<)rZÚdigitsÚformatÚ original_nr@r[s rDÚitnrdÃsý€ðð€JÜ ˆA‹€A؈AÔ!��f˜q‘jÑ!Õ!Ü �&˜F Q™J¨˜?Ñ*¨GÓ 4´sÑ :ˆð €Hð ”:Ò  3¨6°A©:Ñ#6Ð"6¸!Ô"Q¸cÀfÈqÁjÑ>QÔ"QôÐ3Ó4Ð4ð �Š6ܘ5˜'Ó"‰Aä˜5˜'Ó"ˆAØ�v‘  Ñ!ˆAä�v ‘zÖ"ˆAØ �H‰H�Q˜˜E™ Ô "Ø �!‰G‰Að#ð €HôÐ3Ó4Ð4rFcó”— dttjd|««z}dttjd|««z}||fS)NrQÚ 148B8x356BÚ 148b8x356b)ÚsumÚstructÚ unpack_from)ÚbufÚunsigned_chksumÚ signed_chksums rDÚ calc_chksumsrnásL€ððœC¤× 2Ñ 2°<ÀÓ EÓFÑF€OØœ#œf×0Ñ0°¸sÓCÓDÑD€MØ ˜MÐ )Ð)rFcóz— |xsd}|dk(ry|€tj|||«yt||«\}}t|«D]:}|j |«}t |«|kr|d«‚|j |«Œ<|dk7r8|j |«}t |«|kr|d«‚|j |«y)Ni@rúunexpected end of data)ÚshutilÚ copyfileobjÚdivmodrVÚreadr>Úwrite) ÚsrcÚdstrAÚ exceptionÚbufsizeÚblocksÚ remainderÚbrks rDrrrrîsÄ€ððÒ"˜€GØ �‚{ØØ €~Ü×ј3  WÔ-Øä˜v wÓ/Ñ€FˆIÜ �6Ž]ˆØ�h‰h�wÓˆÜ ˆs‹8�gÒ ÙÐ4Ó5Ð 5Ø � ‰ �#�ð ð �A‚~Ø�h‰h�yÓ!ˆÜ ˆs‹8�iÒ ÙÐ4Ó5Ð 5Ø � ‰ �#ŒØ rFcóš—ttjdd«}|�!|j|d«j |«}t |d¬«y)NrBÚbackslashreplaceÚ )Úend)ÚgetattrÚsysÚstdoutr=rJÚprint)r@rBs rDÚ _safe_printr…s@€Ü”s—z‘z :¨tÓ4€HØÐØ �H‰H�XÐ1Ó 2× 9Ñ 9¸(Ó CˆÜ ˆ!�ÖrFcó—eZdZ y)rN©Ú__name__Ú __module__Ú __qualname__©rFrDrrs„ØØrFrcó—eZdZ y)r Nr‡r‹rFrDr r s„Ø/ØrFr có—eZdZ y)rNr‡r‹rFrDrrs„Ø0ØrFrcó—eZdZ y)r Nr‡r‹rFrDr r s„Ø8ØrFr có—eZdZ y)r Nr‡r‹rFrDr r s„ØGØrFr có—eZdZ y)r Nr‡r‹rFrDr r s„Ø+ØrFr có—eZdZ y)ÚEmptyHeaderErrorNr‡r‹rFrDr’r’ s„Ø&ØrFr’có—eZdZ y)ÚTruncatedHeaderErrorNr‡r‹rFrDr”r”#s„Ø*ØrFr”có—eZdZ y)ÚEOFHeaderErrorNr‡r‹rFrDr–r–&s„Ø,ØrFr–có—eZdZ y)rYNr‡r‹rFrDrYrY)s„Ø(ØrFrYcó—eZdZ y)ÚSubsequentHeaderErrorNr‡r‹rFrDr™r™,s„Ø=ØrFr™có&—eZdZ d„Zd„Zd„Zd„Zy)Ú _LowLevelFilecó—tjtjtjztjzdœ|}t td«r|tj z}tj||d«|_y)N©ÚrÚwÚO_BINARYi¶) ÚosÚO_RDONLYÚO_WRONLYÚO_CREATÚO_TRUNCÚhasattrr rÚfd)ÚselfÚnameÚmodes rDÚ__init__z_LowLevelFile.__init__9sa€ä—‘Ü—‘œrŸz™zÑ)¬B¯J©JÑ6ñ ð ñˆô ”2�zÔ "Ø ”B—K‘KÑ ˆDÜ—'‘'˜$  eÓ,ˆ�rFcóB—tj|j«y©N)r¡Úcloser§©r¨s rDr®z_LowLevelFile.closeBs€Ü �‰�—‘ÕrFcóB—tj|j|«Sr­)r¡rtr§©r¨r1s rDrtz_LowLevelFile.readEs€Ü�w‰w�t—w‘w Ó%Ð%rFcóD—tj|j|«yr­)r¡rur§©r¨r@s rDruz_LowLevelFile.writeHs€Ü �‰�—‘˜!ÕrFN)rˆr‰rŠr«r®rtrur‹rFrDr›r›3s„ðò -òò&órFr›cóX—eZdZ d„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z dd „Z d „Z d „Z d „Zy )Ú_Streamcó— d|_|€t||«}d|_|dk(rt|«}|j«}|xsd|_||_||_||_||_d|_ d|_ d|_ |dk(r[ ddl }||_ |jd«|_|d k(r"|j"|_|j'«y|j)|«y|d k(rI ddl}|d k(r(d|_|j/«|_t2|_y|j5|«|_y|d k(rN ddl} |d k(r.d|_| j9«|_| j:|_y| j=«|_y|dk7rtd|z«‚y#t$r td«d‚wxYw#t$r td «d‚wxYw#t$r td «d‚wxYw#|js|jj?«d|_ ‚xYw)NTFÚ*ÚrFrÚgzzzlib module is not availableržÚbz2úbz2 module is not availableÚxzúlzma module is not availableÚtarúunknown compression type %r) Ú _extfileobjr›Ú _StreamProxyÚ getcomptyper©rªÚcomptypeÚfileobjryrkÚposÚclosedÚzlibÚ ImportErrorr Úcrc32ÚcrcÚerrorrxÚ _init_read_gzÚ_init_write_gzrºÚdbufÚBZ2DecompressorÚcmpÚOSErrorÚ BZ2CompressorÚlzmaÚLZMADecompressorÚ LZMAErrorÚLZMACompressorr®) r¨r©rªrÃrÄryÚ compresslevelrÇrºrÓs rDr«z_Stream.__init__Ws €ð àˆÔØ ˆ?Ü# D¨$Ó/ˆGØ$ˆDÔ à �sŠ?ô# 7Ó+ˆGØ×*Ñ*Ó,ˆHàš  ˆŒ ؈Œ Ø ˆŒ ؈Œ ؈Œ ؈ŒØˆŒØˆŒ ð- ؘ4ÒðUÛð!�” ØŸ:™: c›?�”ؘ3’;Ø%)§Z¡Z�D”NØ×&Ñ&Õ(à×'Ñ'¨ Õ6à˜UÒ"ðTÛð˜3’;Ø #�D”IØ"×2Ñ2Ó4�D”HÜ%,�D•Nà"×0Ñ0°Ó?�D•Hà˜TÒ!ðUÛð˜3’;Ø #�D”IØ#×4Ñ4Ó6�D”HØ%)§^¡^�D•Nà#×2Ñ2Ó4�D•Hà˜UÒ"Ü&Ð'DÀxÑ'OÓPÐPð#øôE#òUÜ*Ð+IÓJÐPTÐTðUûô#òTÜ*Ð+HÓIÈtÐSðTûô#òUÜ*Ð+IÓJÐPTÐTðUûð Ø×#Ò#Ø— ‘ ×"Ñ"Ô$؈DŒKØ úsyÁ;GÂFÂAGà GÃGÃ!F)Ã%,GÄGÄ)GÄ/GÄ32GÅ&GÅ<GÆF&Æ&GÆ)F?Æ?GÇGÇGÇ0H cóX—t|d«r|js|j«yyy)NrÆ)r¦rÆr®r¯s rDÚ__del__z_Stream.__del__žs#€Ü �4˜Ô "¨4¯;ª;Ø �J‰J�Lð,7Ð "rFcóv— |jj||jj|jj |jjd«|_t jdttj«««}|jd|zdz«|jjd«r|jdd|_ tjj|j«|_ |j|jj!dd«t"z«y) NrúÄÑDÕErFcó,— |jdk(r+|jj||j«|_|xjt |«z c_|jdk7r|j j|«}|j|«y)Nr¹r¾) rÃrÇrÉrÊrÅr>rÐÚcompressrår³s rDruz _Stream.write³sj€ð à �=‰=˜DÒ Ø—y‘y—‘ q¨$¯(©(Ó3ˆDŒHØ �Š”C˜“FÑ�Ø �=‰=˜EÒ !Ø—‘×!Ñ! !Ó$ˆAØ � ‰ �Q�rFcó\— |xj|z c_t|j«|jkDrt|jj |jd|j«|j|jd|_t|j«|jkDrŒsyyr­)rkr>ryrÄrur³s rDÚ__writez_Stream.__write½sw€ð ð �Š�A‰ �Ü�$—(‘(‹m˜dŸl™lÒ*Ø �L‰L× Ñ ˜tŸx™x¨ ¨¯©Ð6Ô 7Ø—x‘x § ¡   Ð.ˆDŒHô�$—(‘(‹m˜dŸl™lÕ*rFcó— |jryd|_ |jdk(r<|jdk7r-|xj|jj «z c_|jdk(r¼|jr°|j j|j«d|_|jdk(ru|j jtjd|j««|j jtjd|jdz««|js|j j«yy#|js|j j«wwxYw)NTrŸr¾rFr¹rÛlÿÿ)rÆrªrÃrkrÐÚflushrÄrurirãrÊrÅrÀr®r¯s rDr®z _Stream.closeÆs€ð ð �;Š;Ø àˆŒ ð %Ø�y‰y˜CÒ D§M¡M°UÒ$:Ø—’˜DŸH™HŸN™NÓ,Ñ,•à�y‰y˜CÒ D§H¢HØ— ‘ ×"Ñ" 4§8¡8Ô,Ø�”Ø—=‘= DÒ(Ø—L‘L×&Ñ&¤v§{¡{°4¸¿¹Ó'BÔCØ—L‘L×&Ñ&¤v§{¡{°4¸¿¹ÀJÑ9NÓ'OÔPà×#Ò#Ø— ‘ ×"Ñ"Õ$ð$ø�4×#Ò#Ø— ‘ ×"Ñ"Õ$ð$ús —DEÅ)E>cóª— |jj|jj «|_d|_|j d«dk7r t d«‚|j d«dk7r td«‚t|j d««}|j d«|d zrIt|j d««d t|j d««zz}|j|«|d zr |j d«}|r |tk(rnŒ|d zr |j d«}|r |tk(rnŒ|dzr|j d«yy) NrFr.s‹únot a gzip filer-ózunsupported compression methodéérQrPé) rÇÚ decompressobjrárÐrÎÚ _Stream__readrr Úordrtr?)r¨ÚflagÚxlenr@s rDrÌz_Stream._init_read_gzÜs.€ð à—9‘9×*Ñ*¨D¯I©I×,?Ñ,?Ð+?Ó@ˆŒØˆŒ ð �;‰;�q‹>˜[Ò (ÜÐ-Ó.Ð .Ø �;‰;�q‹>˜WÒ $Ü"Ð#CÓDÐ Dä�4—;‘;˜q“>Ó"ˆØ � ‰ �AŒà �!Š8Ü�t—{‘{ 1“~Ó&¨¬s°4·;±;¸q³>Ó/BÑ)BÑBˆDØ �I‰I�dŒOØ �!Š8ØØ—K‘K “N�Ù˜A¤šHØðð �"Š9ØØ—K‘K “N�Ù˜A¤šHØðð �!Š8Ø �K‰K˜�Nð rFcó— |jSr­)rÅr¯s rDÚtellz _Stream.tellûs€ð à�x‰xˆrFcó"— ||jz dk\rrt||jz |j«\}}t|«D]!}|j |j«}|rŒ!n|j |«|jSt d«‚)Nrz seeking backwards is not allowed)rÅrsryrVrtr )r¨rÅrzr{r[Údatas rDÚseekz _Stream.seeksƒ€ð ð �—‘‰>˜QÒ Ü & s¨T¯X©X¡~°t·|±|Ó DÑ ˆF�Iܘ6–]�Ø—y‘y §¡Ó.�ÚÙð#ð �I‰I�iÔ ð�x‰xˆôÐ@ÓAÐ ArFcóf— |j|«}|xjt|«z c_|Sr­)Ú_readrÅr>)r¨r1rks rDrtz _Stream.reads*€ØCà�j‰j˜ÓˆØ �Š”C˜“HÑ�؈ rFcó*— |jdk(r|j|«St|j«}|jg}||kr‰|jr|j}d|_n(|j j |j«}|snA |jj|«}|j|«|t|«z }||krŒ‰dj|«}||d|_|d|S#|j$r}td«|‚d}~wwxYw)Nr¾rFzinvalid compressed data)rÃrör>rÎrkrÄrtryrÐÚ decompressrxrÚappendÚjoin)r¨r1ÚcÚtrkÚes rDrz _Stream._reads€ð à �=‰=˜EÒ !Ø—;‘;˜tÓ$Ð $ä �— ‘ ‹NˆØ �Y‰YˆKˆØ�$Šhà�xŠxØ—h‘h�Ø�•à—l‘l×'Ñ'¨¯ © Ó5�ÙØð BØ—h‘h×)Ñ)¨#Ó.�ð �H‰H�SŒMØ ”�S“‰MˆAð�$‹hð �H‰H�Q‹KˆØ�d�e�HˆŒ Ø��$ˆxˆøð —>‘>ò BÜÐ 9Ó:ÀÐAûð BúsÂC2Ã2DÄ D Ä Dcó,— t|j«}|jg}||krM|jj|j«}|sn%|j |«|t|«z }||krŒMdj |«}||d|_|d|S)NrF)r>rkrÄrtryrr)r¨r1rrrks rDÚ__readz_Stream.__read1sŽ€ð ô �—‘‹MˆØ �X‰XˆJˆØ�$ŠhØ—,‘,×#Ñ# D§L¡LÓ1ˆCÙØØ �H‰H�SŒMØ ”�S“‰MˆAð �$‹hð �H‰H�Q‹KˆØ�T�U�8ˆŒØ��$ˆxˆrFN)r)rˆr‰rŠr«rÙrÍrurår®rÌrûrþrtrrör‹rFrDrµrµKsF„ð òEòNòFò"ò/ò%ò,ò>ó òòó6rFrµcó&—eZdZ d„Zd„Zd„Zd„Zy)rÁcóZ—||_|jjt«|_yr­)rÄrtÚ BLOCKSIZErk)r¨rÄs rDr«z_StreamProxy.__init__Gs€ØˆŒ Ø—<‘<×$Ñ$¤YÓ/ˆ�rFcóP—|jj|_|jSr­)rÄrtrkr±s rDrtz_StreamProxy.readKs€Ø—L‘L×%Ñ%ˆŒ Ø�x‰xˆrFcó¾—|jjd«ry|jdddk(r|jdddk(ry |jjd «ry y ) Ns‹r¹résBZhróé s1AY&SYrº)s]€sý7zXZr¼r¾)rkÚ startswithr¯s rDrÂz_StreamProxy.getcomptypeOsV€Ø �8‰8× Ñ ˜Ô /ØØ �X‰X�a˜ˆ]˜fÒ $¨¯©°!°B¨¸9Ò)DØØ �X‰X× Ñ Ð!CÔ DØàrFcó8—|jj«yr­)rÄr®r¯s rDr®z_StreamProxy.closeYs€Ø � ‰ ×ÑÕrFN)rˆr‰rŠr«rtrÂr®r‹rFrDrÁrÁBs„ðò0òòórFrÁcóf—eZdZ d d„Zd„Zd„Zd„Zd„Zd„Ze jfd„Z d d „Z d „Z d „Zy) Ú _FileInFileNcóÄ—||_||_||_d|_||_d|_|€d|fg}d|_g|_d}|j}|D]U\}}||kDr|jjd||df«|jjd|||z|f«||z }||z}ŒW||jkr*|jjd||jdf«yy)NrFT) rÄÚoffsetr1Úpositionr©rÆÚ map_indexÚmapr)r¨rÄrr1r©Ú blockinfoÚlastposÚrealposs rDr«z_FileInFile.__init__fs逨ˆŒ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ à РؘT˜˜ ˆIðˆŒØˆŒØˆØ—+‘+ˆÛ%‰LˆF�DØ˜ÒØ—‘—‘ ¨°¸Ð >Ô?Ø �H‰H�O‰O˜T 6¨6°D©=¸'ÐBÔ CØ �t‰OˆGؘt‘m‰Gð &ð �T—Y‘YÒ Ø �H‰H�O‰O˜U G¨T¯Y©Y¸Ð=Õ >ð rFcó—yr­r‹r¯s rDrîz_FileInFile.flushs€Ø rFcó—y©NTr‹r¯s rDÚreadablez_FileInFile.readable‚s€ØrFcó—y©NFr‹r¯s rDÚwritablez_FileInFile.writable…s€ØrFcó6—|jj«Sr­)rÄÚseekabler¯s rDr%z_FileInFile.seekableˆs€Ø�|‰|×$Ñ$Ó&Ð&rFcó— |jSr­)rr¯s rDrûz_FileInFile.tell‹s€ð à�}‰}ÐrFcó0— |tjk(r1tt|d«|j«|_|j S|tj k(rc|dkr*t|j |zd«|_|j St|j |z|j«|_|j S|tjk(r>tt|j|z|j«d«|_|j Std«‚)NrzInvalid argument) ÚioÚSEEK_SETÚminÚmaxr1rÚSEEK_CURÚSEEK_ENDr<)r¨rÚwhences rDrþz_FileInFile.seek�sã€ð à ”R—[‘[Ò Ü¤ H¨aÓ 0°$·)±)Ó<ˆDŒMð�}‰}Ðð”r—{‘{Ò "ؘ!Š|Ü # D§M¡M°HÑ$<¸aÓ @�” ð�}‰}Ðô !$ D§M¡M°HÑ$<¸d¿i¹iÓ H�” ð �}‰}Ðð ”r—{‘{Ò "ܤ D§I¡I°Ñ$8¸$¿)¹)Ó DÀaÓHˆDŒMð�}‰}ÐôÐ/Ó0Ð 0rFcóÞ— |€|j|jz }n#t||j|jz «}d}|dkD�r$ |j|j\}}}}||jcxkr|krnnn?|xjdz c_|jt |j«k(rd|_Œvt|||jz «}|re|j j||j|z z«|j j|«}t |«|k7r td«‚||z }n |t|zz }||z}|xj|z c_|dkDr�Œ$|S)NrFrr-rp) r1rr*rrr>rÄrþrtrr?) r¨r1rkrýÚstartÚstoprrAr|s rDrtz_FileInFile.read sG€ð à ˆ<Ø—9‘9˜tŸ}™}Ñ,‰Dä�t˜TŸY™Y¨¯©Ñ6Ó7ˆDàˆØ�Q‹hØØ,0¯H©H°T·^±^Ñ,DÑ)��e˜T 6ؘDŸM™MÔ0¨DÕ0Øà—N’N aÑ'•NØ—~‘~¬¨T¯X©X«Ò6Ø)*˜œðô˜˜t d§m¡mÑ3Ó4ˆFÙØ— ‘ ×!Ñ! &¨D¯M©M¸EÑ,AÑ"BÔCØ—L‘L×%Ñ% fÓ-�Ü�q“6˜VÒ#Ü#Ð$<Ó=Ð=Ø�q‘‘à”s˜V‘|Ñ#�Ø �F‰NˆDØ �MŠM˜VÑ #�Mð'�QŒhð(ˆ rFcóh—|jt|««}||dt|«t|«Sr­)rtr>)r¨r|rks rDÚreadintoz_FileInFile.readinto¿s,€Ø�i‰iœ˜A›ÓˆØˆˆ)Œ3ˆs‹8ˆ Ü�3‹xˆrFcó—d|_yr)rÆr¯s rDr®z_FileInFile.closeÄs €Øˆ� rFr­)rˆr‰rŠr«rîr r#r%rûr(r)rþrtr3r®r‹rFrDrr`sB„ðó ?ò2 òòò'òð %'§K¡Kóó ò>ó rFrcó‡—eZdZˆfd„ZˆxZS)Ú ExFileObjectc󦕗t|j|j|j|j|j «}t ‰|�|«yr­)rrÄÚ offset_datar1r©ÚsparseÚsuperr«)r¨ÚtarfileÚtarinforÄÚ __class__s €rDr«zExFileObject.__init__Ês;ø€Ü˜gŸo™o¨w×/BÑ/BØ— ‘ ˜gŸl™l¨G¯N©Nó<ˆä ‰Ñ˜Õ!rF©rˆr‰rŠr«Ú __classcell__©r=s@rDr6r6Ès ø„÷"ð"rFr6có —eZdZy)rNr‡r‹rFrDrrÕs„ØrFrcó‡—eZdZˆfd„ZˆxZS)rcóN•—||_t‰|� d|j›d�«y)Nzmember z has an absolute path©r<r:r«r©©r¨r<r=s €rDr«zAbsolutePathError.__init__Ùs&ø€ØˆŒ Ü ‰Ñ˜7 7§<¡<Ð"2Ð2GÐHÕIrFr>r@s@rDrrØsø„÷JðJrFrcó‡—eZdZˆfd„ZˆxZS)rcóf•—||_||_t‰|� |j›d|›d�dz«y)Nz would be extracted to ú, ú which is outside the destination©r<Ú_pathr:r«r©©r¨r<r/r=s €rDr«z OutsideDestinationError.__init__Þs;ø€ØˆŒ ؈Œ Ü ‰Ñ˜GŸL™LÐ+Ð+BÀ4À(È"ÐMØ=ñ>õ ?rFr>r@s@rDrrÝó ø„÷?ð?rFrcó‡—eZdZˆfd„ZˆxZS)rcóL•—||_t‰|� |j›d�«y)Nz is a special filerDrEs €rDr«zSpecialFileError.__init__ås$ø€ØˆŒ Ü ‰Ñ˜GŸL™LÐ+Ð+=Ð>Õ?rFr>r@s@rDrräsø„÷@ð@rFrcó‡—eZdZˆfd„ZˆxZS)rcóL•—||_t‰|� |j›d�«y)Nz is a link to an absolute pathrDrEs €rDr«zAbsoluteLinkError.__init__ês$ø€ØˆŒ Ü ‰Ñ˜GŸL™LÐ+Ð+IÐJÕKrFr>r@s@rDrrésø„÷LðLrFrcó‡—eZdZˆfd„ZˆxZS)rcóf•—||_||_t‰|� |j›d|›d�dz«y)Nz would link to rHrIrJrLs €rDr«z$LinkOutsideDestinationError.__init__ïs:ø€ØˆŒ ؈Œ Ü ‰Ñ˜GŸL™LÐ+¨?¸4¸(À"ÐEØ=ñ>õ ?rFr>r@s@rDrrîrMrFrcó‡—eZdZˆfd„ZˆxZS)ÚLinkFallbackErrorcój•—||_||_t‰|� d|j›d�d|›d�z«y)Nzlink z would be extracted as a zcopy of z, which was rejectedrJrLs €rDr«zLinkFallbackError.__init__ösCø€ØˆŒ ؈Œ Ü ‰Ñ˜5 §¡Ð 0Ð0IÐJØ% d XÐ-AÐBñCõ DrFr>r@s@rDrUrUõsø„÷DðDrFrUcóp—i}|j}tjj|tjj¬«}|j dtj f«r1|jjdtj z«x}|d<tjj|«r t|«‚tjjtjj||«tjj¬«}tjj||g«|k7r t||«‚|j}|�y|dz}|r^|j«s|j«r|dzs|dz}|dz}n.|j!«s|j#«rd}n t%|«‚||jk7r||d<|�rá|j&�d|d <|j(�d|d <|j*�d|d <|j,�d|d <|j«s|j#«�r|tjj|j.«r t1|«‚||k(r t||«‚tjj3|j.«}||j.k7r||d <|j#«ratjj5|j7dtj z««}tjj|||«}n tjj||«}tjj|tjj¬«}tjj||g«|k7r t9||«‚|S)N)rSÚ/r©iíé@i¶ÿÿÿé€rªr3r4r5r6Úlinkname)r©r¡r/ÚrealpathÚ ALLOW_MISSINGrÚsepÚlstripÚisabsrrÚ commonpathrrªÚisregÚislnkÚisdirÚissymrr3r4r5r6r[rÚnormpathÚdirnameÚrstripr) ÚmemberÚ dest_pathÚfor_dataÚ new_attrsr©Ú target_pathrªÚ normalizedÚlink_dirs rDÚ_get_filtered_attrsrpsã€Ø€IØ �;‰;€DÜ—‘× Ñ  ´2·7±7×3HÑ3HÐ ÓI€Ið ‡�˜œRŸV™V�}Ô%Ø#)§;¡;×#5Ñ#5°c¼B¿F¹F±lÓ#CÐCˆˆy˜Ñ Ü ‡w�w‡}�}�TÔô  Ó'Ð'ä—'‘'×"Ñ"¤2§7¡7§<¡<° ¸4Ó#@Ü*,¯'©'×*?Ñ*?ð#óA€Kä ‡w�w×ј;¨ Ð2Ó3°yÒ@Ü% f¨kÓ:Ð:à �;‰;€DØ Ðà�e‰|ˆÙ à�|‰|Œ~ §¡¤Ø˜e’|à˜F‘N�Dà˜‘ ‘Ø—‘” 6§<¡<¤>à‘ô' vÓ.Ð.Ø �6—;‘;Ò Ø $ˆI�fÑ Úà �:‰:Ð !Ø#ˆI�eÑ Ø �:‰:Ð !Ø#ˆI�eÑ Ø �<‰<Ð #Ø!%ˆI�gÑ Ø �<‰<Ð #Ø!%ˆI�gÑ à �<‰<Œ>˜VŸ\™\�^Ü�w‰w�}‰}˜VŸ_™_Ô-Ü'¨Ó/Ð/ð˜iÒ'Ü-¨f°kÓBÐBÜŸ™×)Ñ)¨&¯/©/Ó:ˆJؘVŸ_™_Ò,Ø(2� ˜*Ñ%Ø�|‰|Œ~ôŸ7™7Ÿ?™?¨4¯;©;°s¼R¿V¹V±|Ó+DÓE�Ü Ÿg™gŸl™l¨9°hÀ ÓK‘ ä Ÿg™gŸl™l¨9°jÓA� ÜŸ'™'×*Ñ*¨;Ü24·'±'×2GÑ2Gð+óIˆKä�w‰w×!Ñ! ;° Ð":Ó;¸yÒHÜ1°&¸+ÓFÐFØ ÐrFcó—|Sr­r‹)rirjs rDrrKs€Ø €MrFcóP—t||d«}|r|jdi|¤ddi¤ŽS|S)NFÚdeepr‹©rprÞ©rirjrls rDrrNs1€Ü# F¨I°uÓ=€IÙØˆv�~‰~Ñ6  Ñ6°Ò6Ð6Ø €MrFcóP—t||d«}|r|jdi|¤ddi¤ŽS|S)NTrsFr‹rtrus rDrrTs1€Ü# F¨I°tÓ<€IÙØˆv�~‰~Ñ6  Ñ6°Ò6Ð6Ø €MrF)Ú fully_trustedr¾rýs([0-9]{1,20}) c ól—eZdZ edVidd“dd“dd“dd“d d “d d “d d“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$“d%d$“d&d$“ŽZdWd'„Zed(„«Zejd)„«Zed*„«Z e jd+„«Z d,„Z e e e e e e e e d-e d.œ d/„Z d0„Z eed1fd2„Zd3„Zd4„Zd5„Zed6„«Zd7„Zed8„«Zed9„«Zed:„«Zed;„«Zed<„«Zed-d=œd>„«Zed?„«Zed-d=œd@„«ZdA„Z dB„Z!dC„Z"dD„Z#dE„Z$dF„Z%dG„Z&dH„Z'dI„Z(dJ„Z)dK„Z*dL„Z+dM„Z,dN„Z-dO„Z.dP„Z/dQ„Z0dR„Z1dS„Z2dT„Z3dU„Z4y$)Xrr©zName of the archive member.rªzPermission bits.r3z6User ID of the user who originally stored this member.r4z7Group ID of the user who originally stored this member.r1zSize in bytes.r2zTime of last modification.ÚchksumzHeader checksum.Útypez–File type. type is usually one of these constants: REGTYPE, AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, CONTTYPE, CHRTYPE, BLKTYPE, GNUTYPE_SPARSE.r[zcName of the target file name, which is only present in TarInfo objects of type LNKTYPE and SYMTYPE.r5z User name.r6z Group name.ÚdevmajorzDevice major number.ÚdevminorzDevice minor number.rzThe tar header starts here.r8zThe file's data starts here.Ú pax_headerszMA dictionary containing key-value pairs of an associated pax extended header.r9zSparse member information.r;NÚ_sparse_structsÚ _link_targetcóü— ||_d|_d|_d|_d|_d|_d|_t|_d|_ d|_ d|_ d|_ d|_ d|_d|_d|_i|_y)Ni¤rr¸)r©rªr3r4r1r2ryÚREGTYPErzr[r5r6r{r|rr8r9r}©r¨r©s rDr«zTarInfo.__init__�s‚€ð ðˆŒ ØˆŒ ؈ŒØˆŒØˆŒ ؈Œ ؈Œ ܈Œ ؈Œ ؈Œ ؈Œ ؈Œ ؈Œ àˆŒ ؈ÔàˆŒ ؈ÕrFcó— |jSr­©r©r¯s rDr/z TarInfo.path¥s€à2Ø�y‰yÐrFcó—||_yr­r„r‚s rDr/z TarInfo.pathªs €àˆ� rFcó— |jSr­©r[r¯s rDr0zTarInfo.linkpath®s€à:Ø�}‰}ÐrFcó—||_yr­r‡)r¨r[s rDr0zTarInfo.linkpath³s €à ˆ� rFcó`—d|jj|jt|«fzS)Nz<%s %r at %#x>)r=rˆr©Úidr¯s rDÚ__repr__zTarInfo.__repr__·s&€Ø 4§>¡>×#:Ñ#:¸4¿9¹9ÄRÈÃXÐ"NÑNÐNrFT) r©r2rªr[r3r4r5r6rsÚ_KEEPc ó— | rtj|«} ntj|«} || ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _|| ur|| _ | Sr­) ÚcopyÚdeepcopyr©r2rªr[r3r4r5r6) r¨r©r2rªr[r3r4r5r6rsrŒÚresults rDrÞzTarInfo.replaceºs¢€ð á Ü—]‘] 4Ó(‰Fä—Y‘Y˜t“_ˆFØ �uÑ ØˆFŒKØ ˜Ñ Ø ˆFŒLØ �uÑ ØˆFŒKØ ˜5Ñ Ø&ˆFŒOØ �eÑ ØˆFŒJØ �eÑ ØˆFŒJØ ˜Ñ Ø ˆFŒLØ ˜Ñ Ø ˆFŒL؈ rFcó®— |j€d}n|jdz}|j||j|j|j|j |j |j|j|j|j|j|jdœ }|dtk(r!|djd«s |dxxdz cc<|S)Néÿ) r©rªr3r4r1r2ryrzr[r5r6r{r|rzr©rX)rªr©r3r4r1r2ryrzr[r5r6r{r|ÚDIRTYPEræ)r¨rªÚinfos rDÚget_infozTarInfo.get_infoÖs´€ð à �9‰9Р؉Dà—9‘9˜vÑ%ˆDàŸ ™ ØØŸ™ØŸ™ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ØŸ ™ ñ ˆð �‰<œ7Ò "¨4°©<×+@Ñ+@ÀÔ+EØ �‹L˜CÑ ‹Làˆ rFÚsurrogateescapecó0— |j«}|j«D]\}}|�Œ td|z«‚|tk(r|j |||«S|t k(r|j |||«S|tk(r|j||«Std«‚)Nz%s may not be Nonezinvalid format) r•Úitemsr<rÚcreate_ustar_headerrÚcreate_gnu_headerrÚcreate_pax_header)r¨rbrBrCr”r©Úvalues rDÚtobufz TarInfo.tobufòsŸ€ð à�}‰}‹ˆØŸ:™:ž<‰KˆD�%؉}Ü Ð!5¸Ñ!<Ó=Ð=ð(ð ”\Ò !Ø×+Ñ+¨D°(¸FÓCÐ CØ ”zÒ !Ø×)Ñ)¨$°¸&ÓAÐ AØ ”zÒ !Ø×)Ñ)¨$°Ó9Ð 9äÐ-Ó.Ð .rFcó.— t|d<t|dj||««tkDr t d«‚t|dj||««t kDr|j |d||«\|d<|d<|j|t||«S)NÚmagicr[zlinkname is too longr©Úprefix) Ú POSIX_MAGICr>r=Ú LENGTH_LINKr<Ú LENGTH_NAMEÚ_posix_split_nameÚ_create_headerr)r¨r”rBrCs rDr™zTarInfo.create_ustar_headers—€ð ä#ˆˆW‰ ä ˆt�JÑ×&Ñ& x°Ó8Ó 9¼KÒ GÜÐ3Ó4Ð 4ä ˆt�F‰|×"Ñ" 8¨VÓ4Ó 5¼ Ò CØ+/×+AÑ+AÀ$ÀvÁ,ÐPXÐZ`Ó+aÑ (ˆD�‰N˜D ™Là×"Ñ" 4¬°xÀÓHÐHrFcó\— t|d<d}t|dj||««tkDr||j |dt ||«z }t|dj||««t kDr||j |dt||«z }||j|t||«zS)NrŸrFr[r©) Ú GNU_MAGICr>r=r¢Ú_create_gnu_long_headerÚGNUTYPE_LONGLINKr£ÚGNUTYPE_LONGNAMEr¥r)r¨r”rBrCrks rDršzTarInfo.create_gnu_headers³€ð ä!ˆˆW‰ àˆÜ ˆt�JÑ×&Ñ& x°Ó8Ó 9¼KÒ GØ �4×/Ñ/°°ZÑ0@ÔBRÐT\Ð^dÓeÑ eˆCä ˆt�F‰|×"Ñ" 8¨VÓ4Ó 5¼ Ò CØ �4×/Ñ/°°V± Ô>NÐPXÐZ`ÓaÑ aˆCà�T×(Ñ(¨¬z¸8ÀVÓLÑLÐLrFcó^— t|d<|jj«}ddtfddtfddfD];\}}}||vrŒ ||j dd «t||«|kDsŒ4||||<Œ=d D]e\}}d }||} t| t«} | r t| «n| } d | cxkr d |dz zks nd ||<d}n | r| ||<d}|sŒS||vsŒXt| «||<Œg|r|j|t|«} nd} | |j|tdd«zS#t $r ||||<YŒòwxYw)NrŸr©r/r[r0)r5r5é )r6r6r¬rRrS))r3rP)r4rP)r1é )r2r­FrrPr-TrFrÞ)r¡r}rŽr£r¢r=ÚUnicodeEncodeErrorr>Ú isinstanceÚfloatÚroundÚstrÚ_create_pax_generic_headerÚXHDTYPEr¥r) r¨r”rBr}r©ÚhnamerAraÚ needs_paxÚvalÚ val_is_floatÚval_intrks rDr›zTarInfo.create_pax_headersƒ€ð ô$ˆˆW‰ Ø×&Ñ&×+Ñ+Ó-ˆ 𠘤Ð-° ¸JÌ Ð/TØ&Ð(>ó$@Ñ ˆD�%˜ð˜ Ñ#àð Ø�T‘ ×!Ñ! '¨8Ô4ô �4˜‘:‹ Ó'Ø%)¨$¡Z� ˜EÒ"ð!$@ó(R‰LˆD�&؈Ià�t‘*ˆCÜ% c¬5Ó1ˆLÙ$0”e˜C”j°cˆGؘÔ3 !¨°© Ñ"3Ô3à��T‘ Ø ‘ Ùð%��T‘ Ø � ò˜T¨Ò4Ü$'¨£H� ˜DÒ!ð%Rñ* Ø×1Ñ1°+¼wÈÓQ‰CàˆCà�T×(Ñ(¨¬|¸WÀiÓPÑPÐPøôG&ò Ø%)¨$¡Z� ˜EÑ"Ùð úsÁDÄD,Ä+D,có2— |j|td«S)Nr:)r³ÚXGLTYPE)Úclsr}s rDÚcreate_pax_global_headerz TarInfo.create_pax_global_headerXs€ð à×-Ñ-¨k¼7ÀGÓLÐLrFcóT— |jd«}tdt|««D]t}dj|d|«}dj||d«}t|j ||««t ksŒNt|j ||««t ksŒq||fStd«‚)NrXr-zname is too long)ÚsplitrVr>rr=Ú LENGTH_PREFIXr£r<)r¨r©rBrCÚ componentsr[r s rDr¤zTarInfo._posix_split_name^s €ð ð—Z‘Z “_ˆ Ü�qœ#˜j›/Ö*ˆAØ—X‘X˜j¨¨!˜nÓ-ˆFØ—8‘8˜J q r˜NÓ+ˆDÜ�6—=‘= ¨6Ó2Ó3´}ÓDܘŸ ™  H¨fÓ5Ó6¼+ÓEØð�tˆ|Ðð+ôÐ/Ó0Ð 0rFcój— |jd«ttfv}|r;t|jdd«d|«}t|jdd«d|«}nt dd||«}t dd||«}|jdt «}|€ t d«‚t |jdd«d ||«t|jd d«d zd|«t|jd d«d|«t|jd d«d|«t|jdd«d|«t|jdd«d|«d|t |jdd«d ||«|jdt«t |jdd«d||«t |jdd«d||«||t |jdd«d||«g}tjdtzdj|««} t| t d«d} | ddtd| zd«z| ddz} | S)Nrzr{rrPr|r¸zTarInfo.type must not be Noner©rrªr’r3r4r1r­r2s r[rŸr5r¬r6r rz%dsrFi”þÿÿz%06orRi›þÿÿ)ÚgetÚCHRTYPEÚBLKTYPErdrEr�r<r¡rirãr rrnr^) r”rbrBrCÚhas_device_fieldsr{r|ÚfiletypeÚpartsrkrys rDr¥zTarInfo._create_headerns€ð ð!ŸH™H VÓ,´¼'Ð0BÐBÐ٠ܘ4Ÿ8™8 J°Ó2°A°vÓ>ˆHܘ4Ÿ8™8 J°Ó2°A°vÓ>‰Hä˜2˜q (¨FÓ3ˆHܘ2˜q (¨FÓ3ˆHð—8‘8˜F¤GÓ,ˆØ Ð ÜÐ<Ó=Ð =ô �—‘˜ Ó$ c¨8°VÓ <Ü �—‘˜ Ó# fÑ,¨a°Ó 8Ü �—‘˜ Ó" A vÓ .Ü �—‘˜ Ó" A vÓ .Ü �—‘˜ Ó# R¨Ó 0Ü �—‘˜ !Ó$ b¨&Ó 1Ø Ø Ü �—‘˜ RÓ(¨#¨x¸Ó @Ø �H‰H�WœkÓ *Ü �—‘˜ "Ó% r¨8°VÓ <Ü �—‘˜ "Ó% r¨8°VÓ <Ø Ø Ü �—‘˜ 2Ó&¨¨X°vÓ >ð ˆô$�k‰k˜%¤)Ñ+¨S¯X©X°e«_Ó=ˆÜ˜c¤9 * +Ð.Ó/°Ñ2ˆØ�%�4ˆjœ5 ¨FÑ!2°GÓ<Ñ<¸sÀ4À5¸zÑIˆØˆ rFcóp— tt|«t«\}}|dkDr|t|z tzz }|S)Nr)rsr>r r?)Úpayloadrzr{s rDÚ_create_payloadzTarInfo._create_payload˜s>€ð ô#¤3 w£<´Ó;ш� Ø �qŠ=Ø œ  IÑ-´Ñ4Ñ 4ˆG؈rFcóЗ |j||«tz}i}d|d<||d<t|«|d<t|d<|j |t ||«|j |«zS)Nz ././@LongLinkr©rzr1rŸ)r=r?r>r§r¥rrË)r¼r©rzrBrCr”s rDr¨zTarInfo._create_gnu_long_header¢sy€ð ð�{‰{˜8 VÓ,¬sÑ2ˆàˆØ&ˆˆV‰ ؈ˆV‰ ܘ4“yˆˆV‰ Ü!ˆˆW‰ ð×!Ñ! $¬ °hÀÓGØ×#Ñ# DÓ)ñ*ð *rFcóš— d}|j«D]\}} |jdd«Œd}|r|dz }|j«D]¢\}}|jd«}|r|j|d«}n|jd«}t|«t|«zdz}d x} } |tt | ««z} | | k(rn| } Œ |t t | «d «d z|zd z|zd zz }Œ¤i} d| d<|| d<t|«| d<t | d<|j| td d«|j|«zS#t$rd}Y�ŒwxYw)NFr:rSTrFs21 hdrcharset=BINARY r–rrrRó ó=ó z././@PaxHeaderr©rzr1rŸrÞ) r˜r=r®r>r²r^r¡r¥rrË) r¼r}rzrBÚbinaryÚkeywordrœÚrecordsÚlrZrKr”s rDr³z"TarInfo._create_pax_generic_header³s†€ð ð ˆØ)×/Ñ/Ö1‰NˆG�Uð Ø— ‘ ˜W hÕ/ð2ðˆÙ à Ð0Ñ 0ˆGà)×/Ñ/Ö1‰NˆG�UØ—n‘n WÓ-ˆGÙ🠙  XÐ/@ÓA‘àŸ ™  WÓ-�ä�G“ œs 5›zÑ)¨AÑ-ˆA؈IˆA�ØØœœC ›F› ‘O�ؘ’6ØØ�ð ð ”uœS ›V WÓ-°Ñ4°wÑ>ÀÑEÈÑMÐPUÑUÑ U‰Gð!2ð(ˆØ'ˆˆV‰ ؈ˆV‰ ܘ7“|ˆˆV‰ Ü#ˆˆW‰ ð×!Ñ! $¬ °g¸yÓIØ×#Ñ# GÓ,ñ-ð -øôI&ò Ø�Ûð ús›D:Ä: E Å E có*— |j|||«Sr­)Ú_frombuf)r¼rkrBrCs rDÚfrombufzTarInfo.frombufæs€ð ð �|‰|˜C ¨6Ó2Ð2rF©Údircheckcór— t|«dk(r td«‚t|«tk7r td«‚|j t «tk(r t d«‚t|dd«}|t|«vr td«‚|«}t|dd||«|_ t|dd «|_ t|d d «|_ t|d d «|_t|d d «|_t|d d«|_||_|dd |_t|d d||«|_t|dd||«|_t|dd||«|_t|dd«|_t|dd«|_t|dd||«}|r9|j$t0k(r&|jj3d«r t4|_|j$t6k(rxd}g} t9d«D]@} t|||dz«} t||dz|dz«} | j=| | f«|dz }ŒBt?|d«} t|dd«}| | |f|_ |jC«r |jjEd«|_ |r)|j$tFvr|dz|jz|_ |S#t:$rYŒ�wxYw)Nrz empty headerztruncated headerzend of file headeré”éœz bad checksumrélété|éˆé�ii i)iIiQiYiôrXi‚rór­éiâiãiï)$r>r’r r”Úcountr?r–r\rnrYrLr©rªr3r4r1r2ryrzr[r5r6r{r|ÚAREGTYPErær“ÚGNUTYPE_SPARSErVr<rÚboolr~rdrhÚ GNU_TYPES)r¼rkrBrCrÙryÚobjr rÅÚstructsr[rÚnumbytesÚ isextendedÚorigsizes rDrÖzTarInfo._frombufïs§€ð ô ˆs‹8�qŠ=Ü" >Ó2Ð 2Ü ˆs‹8”yÒ Ü&Ð'9Ó:Ð :Ø �9‰9”S‹>œYÒ &Ü Ð!5Ó6Ð 6ä�S˜˜S�\Ó"ˆØ œ cÓ*Ñ *Ü$ ^Ó4Ð 4á‹eˆÜ�s˜1˜S�z 8¨VÓ4ˆŒÜ�s˜3˜s�|Ó$ˆŒÜ�c˜#˜c�lÓ#ˆŒÜ�c˜#˜c�lÓ#ˆŒÜ�s˜3˜s�|Ó$ˆŒÜ˜˜C ˜ Ó%ˆŒ ؈Œ Ø�s˜3�<ˆŒÜ˜3˜s 3˜<¨°6Ó:ˆŒ ܘ˜C ˜  h°Ó7ˆŒ ܘ˜C ˜  h°Ó7ˆŒ ܘ3˜s 3˜<Ó(ˆŒ ܘ3˜s 3˜<Ó(ˆŒ Ü�S˜˜S�\ 8¨VÓ4ˆñ ˜Ÿ™¤HÒ,°·±×1BÑ1BÀ3Ô1G܈CŒHð �8‰8”~Ò %؈C؈Gܘ1–X�ðÜ   S¨¨r©Ð!2Ó3�FÜ" 3 s¨R¡x°°b±Ð#9Ó:�Hð—‘ ¨Ð1Ô2Ø�r‘ ‘ðô˜c #™h›ˆJܘ3˜s 3˜<Ó(ˆHØ#*¨J¸Ð"AˆCÔ ð �9‰9Œ;Ø—x‘x—‘ sÓ+ˆCŒHñ �c—h‘h¤iÑ/Ø ‘| c§h¡hÑ.ˆCŒH؈ øô"òÚðúsÇ'%J)Ê) J6Ê5J6có&— |j|«Sr­)Ú _fromtarfile)r¼r;s rDÚ fromtarfilezTarInfo.fromtarfile3s€ð ð×Ñ Ó(Ð(rFcó— |jjt«}|j||j|j |¬«}|jj «tz |_|j|«S)NrØ) rÄrtr rÖrBrCrûrÚ _proc_member)r¼r;rÙrkrès rDrîzTarInfo._fromtarfile:sg€ð ð�o‰o×"Ñ"¤9Ó-ˆØ�l‰l˜3 × 0Ñ 0°'·.±.È8ˆlÓTˆØ—_‘_×)Ñ)Ó+¬iÑ7ˆŒ Ø×Ñ Ó(Ð(rFcó— |jttfvr|j|«S|jtk(r|j |«S|jt ttfvr|j|«S|j|«Sr­) rzrªr©Ú _proc_gnulongråÚ _proc_sparser´r»ÚSOLARIS_XHDTYPEÚ _proc_paxÚ _proc_builtin)r¨r;s rDrñzTarInfo._proc_memberOs}€ð ð �9‰9Ô)Ô+;Ð<Ñ <Ø×%Ñ% gÓ.Ð .Ø �Y‰Yœ.Ò (Ø×$Ñ$ WÓ-Ð -Ø �Y‰Yœ7¤G¬_Ð=Ñ =Ø—>‘> 'Ó*Ð *à×%Ñ% gÓ.Ð .rFcó®— |jj«|_|j}|j«s|jt vr||j |j«z }||_|j|j|j|j«|j«r |jjd«|_|S)NrX)rÄrûr8rbrzÚSUPPORTED_TYPESÚ_blockr1rÚ_apply_pax_infor}rBrCrdr©rh)r¨r;rs rDr÷zTarInfo._proc_builtin\s¥€ð ð#Ÿ?™?×/Ñ/Ó1ˆÔØ×!Ñ!ˆØ �:‰:Œ<˜4Ÿ9™9¬OÑ;à �d—k‘k $§)¡)Ó,Ñ ,ˆF؈Œð ×јW×0Ñ0°'×2BÑ2BÀGÇNÁNÔSð �:‰:Œ<ØŸ ™ ×(Ñ(¨Ó-ˆDŒIàˆ rFcóL— |jj|j|j««} |j |d¬«}|j|_|jtk(r't||j|j«|_n9|jtk(r&t||j|j«|_|j#«r |jj%d«|_|S#t $r}t t|««d‚d}~wwxYw)NFrØrX)rÄrtrúr1rîr r™r²rrzrªrLrBrCr©r©r[rdÚ removesuffix)r¨r;rkÚnextrs rDrózTarInfo._proc_gnulongrsè€ð ð�o‰o×"Ñ" 4§;¡;¨t¯y©yÓ#9Ó:ˆð :Ø×$Ñ$ W°uÐ$Ó=ˆDð —k‘kˆŒ Ø �9‰9Ô(Ò (ܘC ×!1Ñ!1°7·>±>ÓBˆD�IØ �Y‰YÔ*Ò *Ü  W×%5Ñ%5°w·~±~ÓFˆDŒMð �:‰:Œ<ØŸ ™ ×.Ñ.¨sÓ3ˆDŒIàˆ øô!ò :Ü'¬¨A«Ó/°TÐ 9ûð :ús·DÄ D#Ä DÄD#có — |j\}}}|`|r„|jjt«}d}t d«D]D} t |||dz«}t ||dz|dz«} |r| r|j|| f«|dz }ŒFt|d«}|rŒ„||_ |jj«|_ |j|j|j«z|_||_ |S#t $rYŒywxYw)Nrér­râiø)r~rÄrtr rVr\r<rrær9rûr8rúr1r) r¨r;rérërìrkrÅr[rrês rDrôzTarInfo._proc_sparse�s€ð ð)-×(<Ñ(<Ñ%ˆ�˜XØ Ð ñØ—/‘/×&Ñ&¤yÓ1ˆC؈Cܘ2–Y�ðÜ   S¨¨r©Ð!2Ó3�FÜ" 3 s¨R¡x°°b±Ð#9Ó:�Hñ™hØ—N‘N F¨HÐ#5Ô6Ø�r‘ ‘ðô˜c #™h›ˆJòðˆŒ à"Ÿ?™?×/Ñ/Ó1ˆÔØ×)Ñ)¨D¯K©K¸¿ ¹ Ó,BÑBˆŒØˆŒ ؈ øô"òÚðúsÁ%C6Ã6 DÄDcó — |jj|j|j««}|jt k(r |j }n|j j«}d}d}g}t|«|kD�r||dk7�rtj||«x}s td«‚ t|jd««}|dkr td«‚||zt|«kDr td«‚|jd«|zdz } ||j!d«dz| } | j#d«\} } } | r | dk7s|| dk7r td«‚|j%|| | f«| dk(r|€| dk(r |j&}nd }||z }t|«|kDr ||dk7r�Œ|€d }|D]x\}} } |j)| d d |j*«}|t,vr)|j)| ||j&|j*«}n|j)| d d |j*«}|||<Œz |j/|d ¬ «}d |vr|j7||«nRd |vr|j9||«n;|j;d«dk(r'|j;d«dk(r|j=|||«|jt>t@fvr�|jC||j&|j*«|jD|_"d|vrS|jF}|jI«s|jtJvr||j|j«z }||_"|S#t$r td«‚wxYw#t0$r}t3t5|««d‚d}~wwxYw)NrrUr-érÏrs hdrcharsetsBINARYr:FrØúGNU.sparse.mapúGNU.sparse.sizezGNU.sparse.majorÚ1zGNU.sparse.minorrTr1)&rÄrtrúr1rzr»r}rŽr>Ú_header_length_prefix_reÚmatchrYrWÚgroupr<r0r€Ú partitionrrBÚ_decode_pax_fieldrCÚPAX_NAME_FIELDSrîr r™r²Ú_proc_gnusparse_01Ú_proc_gnusparse_00rÃÚ_proc_gnusparse_10r´rõrûrr8rbrù)r¨r;rkr}rÅrBÚ raw_headersrrAÚheader_value_end_offsetÚkeyword_and_valueÚ raw_keywordÚequalsÚ raw_valuerÒrœrþrrs rDrözTarInfo._proc_pax©s”€ð ð�o‰o×"Ñ" 4§;¡;¨t¯y©yÓ#9Ó:ˆð �9‰9œÒ Ø!×-Ñ-‰Kà!×-Ñ-×2Ñ2Ó4ˆKð ˆØˆØˆ Ü�#‹h˜‹n  S¡¨TÓ!1Ü5×;Ñ;¸CÀÓEÐE�EÐEÜ(Ð)9Ó:Ð:ð ;ܘUŸ[™[¨›^Ó,�𠘊zÜ(Ð)9Ó:Ð:Ø�V‰|œc #›hÒ&Ü(Ð)9Ó:Ð:à&+§k¡k°!£n°vÑ&=ÀÑ&AÐ #Ø # E§I¡I¨a£L°1Ñ$4Ð5LÐ MÐ Ø->×-HÑ-HÈÓ-NÑ *ˆK˜ ñ &¨D¢.°CÐ8OÑ4PÐTXÒ4XÜ(Ð)9Ó:Ð:Ø × Ñ  ¨ °YÐ?Ô @ð˜mÒ+°Ð0@Ø  Ò)Ø&×/Ñ/‘Hà&�Hà �6‰MˆCôM�#‹h˜Šn  S¡¨TÔ!1ðR Р؈Hó/:Ñ *ˆF�K ð×,Ñ,¨[¸'À7Ø—N‘Nó$ˆGàœ/Ñ)Ø×.Ñ.¨y¸(ÀG×DTÑDTØŸ™ó(‘ð×.Ñ.¨y¸'À7ØŸ™ó(�ð$)ˆK˜Ò ð#/:ð( :Ø×$Ñ$ W°uÐ$Ó=ˆDð ˜{Ñ *à × #Ñ # D¨+Õ 6à  +Ñ -à × #Ñ # D¨+Õ 6à �_‰_Ð/Ó 0°CÒ 7¸K¿O¹OÐL^Ó<_ÐcfÒÑ.>ÀÇÁÔ OØŸ+™+ˆDŒKà˜Ñ$ð×)Ñ)�Ø—:‘:”< 4§9¡9´OÑ#CؘdŸk™k¨$¯)©)Ó4Ñ4�FØ!'�”àˆ øôyò ;Ü(Ð)9Ó:Ð:ð ;ûô|ò :Ü'¬¨A«Ó/°TÐ 9ûð :ús$Â2MÈ#M ÍMÍ NÍ)M>Í>Ncót— g}g}|D]d\}}}|dk(r* |jt|j«««Œ6|dk(sŒ< |jt|j«««Œft t ||««|_y#t$r t d«‚wxYw#t$r t d«‚wxYw)NsGNU.sparse.offsetrUsGNU.sparse.numbytes)rrWrJr<rYÚlistÚzipr9)r¨rþrÚoffsetsrêÚ_rÒrœs rDr zTarInfo._proc_gnusparse_00"s¼€ð àˆØˆÛ!,Ñ ˆAˆw˜ØÐ.Ò.ð?Ø—N‘N¤3 u§|¡|£~Ó#6Õ7ðÐ2Ó2ð?Ø—O‘O¤C¨¯ © «Ó$7Õ8ð"-ôœ3˜w¨Ó1Ó2ˆ� øô"ò?Ü,Ð-=Ó>Ð>ð?ûô "ò?Ü,Ð-=Ó>Ð>ð?ús•(B Á(B" BÂ"B7c ó°— |djd«D�cgc] }t|«‘Œ}}tt|ddd…|ddd…««|_ycc}w)NrÚ,r.r-)r¿rWrrr9)r¨rþr}Úxr9s rDr zTarInfo._proc_gnusparse_016s]€ð à"-Ð.>Ñ"?×"EÑ"EÀcÔ"JÓKÑ"J˜Q”#�a•&Ð"JˆÐKÜœ3˜v¡c¨ c™{¨F°1°4°a°4©LÓ9Ó:ˆ� ùòLs˜Ac ó— d}g}|jjt«}|jdd«\}}t |«}t |«|dzkrgd|vr"||jjt«z }|jdd«\}}|j t |««t |«|dzkrŒg|jj«|_tt|ddd…|ddd…««|_ y)NrÐr-r.) rÄrtr r¿rWr>rrûr8rrr9)r¨rþr}r;Úfieldsr9rkÚnumbers rDrzTarInfo._proc_gnusparse_10<så€ð àˆØˆØ�o‰o×"Ñ"¤9Ó-ˆØ—i‘i  qÓ)‰ ˆ�Ü�V“ˆÜ�&‹k˜F Q™JÒ&ؘCÑØ�w—‘×+Ñ+¬IÓ6Ñ6�ØŸ)™) E¨1Ó-‰KˆF�CØ �M‰Mœ#˜f›+Ô &ô �&‹k˜F Q™JÓ&ð #Ÿ?™?×/Ñ/Ó1ˆÔÜœ3˜v¡c¨ c™{¨F°1°4°a°4©LÓ9Ó:ˆ� rFcóž— |j«D]“\}}|dk(rt|d|«Œ|dk(rt|dt|««Œ5|dk(rt|dt|««ŒQ|tvsŒZ|tvr t ||«}|dk(r|j d«}t|||«Œ•|j«|_y#t $rd}YŒHwxYw)NzGNU.sparse.namer/rr1zGNU.sparse.realsizerrX) r˜ÚsetattrrWÚ PAX_FIELDSÚPAX_NUMBER_FIELDSr<rhrŽr})r¨r}rBrCrÒrœs rDrûzTarInfo._apply_pax_infoLsÙ€ð ð*×/Ñ/Ö1‰NˆG�UØÐ+Ò+ܘ˜f eÕ,ØÐ-Ò-ܘ˜f¤c¨%£jÕ1ØÐ1Ò1ܘ˜f¤c¨%£jÕ1ØœJÒ&ØÔ/Ñ/ð"Ü 1°'Ñ :¸5Ó A˜ð˜fÒ$Ø!ŸL™L¨Ó-�Eܘ˜g uÕ-ð2ð"'×+Ñ+Ó-ˆÕøô &ò"Ø !šð"úsÁ5B>Â> C à C cól— |j|d«S#t$r|j||«cYSwxYw)NrS)rJÚUnicodeDecodeError)r¨rœrBÚfallback_encodingÚfallback_errorss rDr zTarInfo._decode_pax_fieldcsA€ð ð DØ—<‘< ¨(Ó3Ð 3øÜ!ò DØ—<‘<Ð 1°?ÓCÒ Cð Dús ƒ•3²3cój— |dkr td«‚t|t«\}}|r|dz }|tzS)Nrzinvalid offsetr-)rYrsr )r¨rãrzr{s rDrúzTarInfo._blockksD€ð ð �1Š9Ü$Ð%5Ó6Ð 6Ü" 5¬)Ó4ш� Ù Ø �a‰KˆFØœ Ñ!Ð!rFcó(— |jtvSr­)rzÚ REGULAR_TYPESr¯s rDrbz TarInfo.isregws€Ø>Ø�y‰yœMÐ)Ð)rFcó$— |j«Sr­)rbr¯s rDÚisfilezTarInfo.isfile{s€Ø>Ø�z‰z‹|ÐrFcó*— |jtk(Sr­)rzr“r¯s rDrdz TarInfo.isdiró€Ø+Ø�y‰yœGÑ#Ð#rFcó*— |jtk(Sr­)rzÚSYMTYPEr¯s rDrez TarInfo.issymƒs€Ø/Ø�y‰yœGÑ#Ð#rFcó*— |jtk(Sr­)rzÚLNKTYPEr¯s rDrcz TarInfo.islnk‡r.rFcó*— |jtk(Sr­)rzrÄr¯s rDÚischrz TarInfo.ischr‹s€Ø2Ø�y‰yœGÑ#Ð#rFcó*— |jtk(Sr­)rzrÅr¯s rDÚisblkz TarInfo.isblk�s€Ø.Ø�y‰yœGÑ#Ð#rFcó*— |jtk(Sr­)rzÚFIFOTYPEr¯s rDÚisfifozTarInfo.isfifo“s€Ø&Ø�y‰yœHÑ$Ð$rFcó—|jduSr­)r9r¯s rDÚissparsezTarInfo.issparse—s€Ø�{‰{ $Ð&Ð&rFcó>— |jtttfvSr­)rzrÄrÅr8r¯s rDÚisdevz TarInfo.isdevšs€ØMØ�y‰yœW¤g¬xÐ8Ð8Ð8rFr‹)r¸)5rˆr‰rŠÚdictÚ __slots__r«Úpropertyr/Úsetterr0r‹rŒrÞr•rr r�r™ršr›Ú classmethodr½r¤Ú staticmethodr¥rËr¨r³r×rÖrïrîrñr÷rórôrör r rrûr rúrbr,rdrercr4r6r9r;r=r‹rFrDrrjs´„ðñò Ù,ð á!ð ñGð ñHð  ñ  ð  ñ -ð  ñ$ð ñ>ð ñFð ñð ñð ñ*ð ñ *ð! ñ"/ð# ñ$5ð% ñ&9ð' ñ*.ð+ ñ,ð- ñ.ð/ ñ0ð1 €Ió6ð0ñóðð ‡[�[ñóððñóðð‡_�_ñ!óð!òOð %¨e¸eؘu¨E¸Ø ôò8ð8*°HÐEVó/ò" Iò Mò8QðtñMóðMò ð ñ'óð'ðRñóððñ*óð*ð ñ0-óð0-ðdñ3óð3ðØ9=óAóðAðFñ)óð)ð Ø/3ó)óð)ò( /òò,ò6ò8wòr3ò(;ò ;ò .ò.Dò "ò*òò$ò$ò$ò$ò$ò%ò'ó9rFrcóÒ—eZdZ dZdZdZdZeZe Z dZ e Z eZdZ d:d„Zedddefd„«Zed;d„«Zedd„Zd?ddœd„Zd@ddœd„Z dAd„Z!d„Z"dBdddœd„Z#d„Z$dCdddœd„Z%d „Z& dAd!„Z'd"„Z(d#„Z)d$„Z* dDddd%œd&„Z+d'„Z,d(„Z-d)„Z.d*„Z/d+„Z0d,„Z1d-„Z2d.„Z3d/„Z4d0„Z5d1„Z6dEd2„Z7d3„Z8dAd4„Z9d5„Z:d6„Z;d7„Zy)FrrFr-NržcóÞ— dddddœ}||vr td«‚||_|||_|sZ|jdk(r-tjj |«sd|_d|_t ||j«}d |_n^|€8t|d «r,t|jttf«r |j}t|d «r|j|_d |_|rtjj|«nd|_ ||_|�||_|�||_|�||_|�||_|�||_| |_| �|jt*k(r| |_ni|_| �| |_| �| |_| |_d |_g|_d |_|jj;«|_i|_ |jd k(rd|_ |jC«|_ |jdk(r^ |jjE|j<« |j jG|«}|j6jI|«Œ]|jdvr�d |_|j,rm|j jQ|j,jS««}|jjU|«|xj<tW|«z c_yyy#tJ$r(|jjE|j<«YŒÀtL$r}tOt|««d‚d}~wwxYw#|js|jjY«d |_‚xYw)NÚrbzr+bÚwbÚxb©ržÚarŸrú!mode must be 'r', 'a', 'w' or 'x'rJrŸFr©rªTrž©rJrŸr)-r<rªÚ_moder¡r/ÚexistsÚ bltn_openrÀr¦r¯r©r²r^ÚabspathrÄrbr<Ú dereferenceÚ ignore_zerosrBrCrr}ÚdebugÚ errorlevelÚ copybufsizerÆÚmembersÚ_loadedrûrÚinodesÚ firstmemberrþrþrïrr–r rr½rŽrur>r®)r¨r©rªrÄrbr<rQrRrBrCr}rSrTrUÚmodesrrks rDr«zTarFile.__init__»s€ð ð ¨T¸Ñ=ˆØ �uÑ ÜÐ@ÓAÐ A؈Œ ؘ4‘[ˆŒ áØ�y‰y˜CÒ¬¯©¯©°tÔ(<à�” Ø!�” Ü  d§j¡jÓ1ˆGØ$ˆDÕ à� ¤¨°&Ô!9ܘ7Ÿ<™<¬#¬u¨Ô6Ø—|‘|�Ü�w Ô'Ø$Ÿ\™\�” Ø#ˆDÔ Ù-1”B—G‘G—O‘O DÔ)°tˆŒ ؈Œ ð Ð Ø ˆDŒKØ Ð Ø"ˆDŒLØ Ð "Ø*ˆDÔ Ø Ð #Ø ,ˆDÔ Ø Ð Ø$ˆDŒM؈Œ à Ð " t§{¡{´jÒ'@Ø*ˆDÕ à!ˆDÔ à Р؈DŒJØ Ð !Ø(ˆDŒOð'ˆÔ؈Œ ؈Œ ؈Œ Ø—l‘l×'Ñ'Ó)ˆŒ àˆŒ ð Ø�y‰y˜CÒØ#'�Ô Ø#'§9¡9£;�Ô à�y‰y˜CÒðØ—L‘L×%Ñ% d§k¡kÔ2ð:Ø"&§,¡,×":Ñ":¸4Ó"@˜ØŸ ™ ×+Ñ+¨GÔ4ð ð�y‰y˜OÑ+Ø#�” à×#Ò#ØŸ,™,×?Ñ?À×@PÑ@P×@UÑ@UÓ@WÓX�CØ—L‘L×&Ñ& sÔ+Ø—K’K¤3 s£8Ñ+–Kð$ð,øô *òØŸ ™ ×)Ñ)¨$¯+©+Ô6ÙÜ&ò:Ü'¬¨A«Ó/°TÐ9ûð:ûð Ø×#Ò#Ø— ‘ ×"Ñ"Ô$؈DŒKØ ús>Æ?A L<È 6K'ÉBL<Ë'.L9ÌL<ÌL9ÌL4Ì4L9Ì9L<Ì<0M,c óć— |s |s td«‚|dvrzˆfd„}g}t‰j|¬«D]:}t‰‰j|«} |�|j «} | |d|fi|¤ŽcSdj|«} t d | ›�«‚d |vrb|jd d «\} }| xsd} |xsd }|‰jvrt‰‰j|«} nt d |z«‚| || |fi|¤ŽSd|vrg|jdd «\} }| xsd} |xsd }| dvr td«‚|jdd«}t|| ||||«} ‰|| |fi|¤Ž}d|_|S|dvr‰j|||fi|¤ŽStd«‚#t t f$r5} |jd|›d| ›�«|�|j «Yd} ~ �Œ�d} ~ wwxYw#|j«‚xYw)Nznothing to open)ržúr:*có(•—‰j|dk(S)NÚtaropen)Ú OPEN_METH)rÃr¼s €rDÚnot_compressedz$TarFile.open..not_compressedTsø€Ø—}‘} XÑ.°)Ñ;Ð;rF)Úkeyržz - method z: Ú z'file could not be opened successfully: Ú:r-r¾r¿Ú|r�zmode must be 'r' or 'w'r×é FrLzundiscernible mode)r<Úsortedr_r�rûrr rrþrr¿Úpoprµr®rÀr^)r¼r©rªrÄryÚkwargsr`Ú error_msgsrÃÚfuncÚ saved_posrÚerror_msgs_summaryÚfilemoder×Ústreamrs` rDrz TarFile.open*s:ø€ð! ñF™GÜÐ.Ó/Ð /à �<Ñ ô <àˆJÜ" 3§=¡=°n×E�ܘs C§M¡M°(Ñ$;Ó<�ØÐ&Ø '§ ¡ £�IðÙ  c¨7Ñ=°fÑ=Ò=ð Fð"&§¡¨:Ó!6Ð ÜÐFÐGYÐFZÐ[Ó\Ð \à �D‰[Ø!%§¡¨C°Ó!3Ñ ˆH�hØ’ 3ˆHØÒ( 5ˆHð˜3Ÿ=™=Ñ(ܘs C§M¡M°(Ñ$;Ó<‘ä&Ð'DÀxÑ'OÓPÐPÙ˜˜h¨Ñ:°6Ñ:Ð :à �D‰[Ø!%§¡¨C°Ó!3Ñ ˆH�hØ’ 3ˆHØÒ( 5ˆHà˜zÑ)Ü Ð!:Ó;Ð;à"ŸJ™J ¸Ó:ˆMܘT 8¨X°wÀØ*ó,ˆFð Ù˜˜h¨Ñ9°&Ñ9�ð"ˆAŒM؈Hà �_Ñ $Ø�3—;‘;˜t T¨7Ñ=°fÑ=Ð =äÐ-Ó.Ð.øôW"Ô#3Ð4òØ×%Ñ%¨ °(°¸2¸a¸UÐ&CÔDØÐ*ØŸ ™  YÔ/Ýûð ûðD Ø— ‘ ”Øús$Á# FÅ G ÆG Æ*GÇG Ç Gc ó8— |dvr td«‚||||fi|¤ŽS)NrIrK)r<)r¼r©rªrÄrhs rDr^zTarFile.taropenŠs0€ð à Ð+Ñ +ÜÐ@ÓAÐ AÙ�4˜˜wÑ1¨&Ñ1Ð1rFc ó�— |dvr td«‚ ddlm} |||dz||«} |j|||fi|¤Ž}d |_ |S#t$r t d«d‚wxYw#t $r}|�|dk(r t d«|‚‚d}~wwxYw#t $r'}|j«|dk(r t d«|‚‚d}~w|j«‚xYw) N©ržrŸrúmode must be 'r', 'w' or 'x'r)ÚGzipFilezgzip module is not availabler|ržrðF) r<ÚgziprsrÈr rÑrr^r®rÀ) r¼r©rªrÄr×rhrsrrs rDÚgzopenzTarFile.gzopen’sø€ð ð �Ñ &ÜÐ;Ó<Ð <ð MÝ %ð Ù˜t T¨C¡Z°ÀÓHˆGð Ø�— ‘ ˜D $¨Ñ:°6Ñ:ˆAðˆŒ Øˆøô+ò MÜ"Ð#AÓBÈÐ Lð Mûô ò ØÐ" t¨s¢{ÜÐ 1Ó2¸Ð9Ø ûð ûôò Ø �M‰MŒOØ�sŠ{ÜÐ 1Ó2¸Ð9Ø ûð Ø �M‰MŒOØ ús9’A™A¨BÁAÁ BÁ(A<Á<B C "B/Â/Cc óR— |dvr td«‚ ddlm}||xs|||¬«} |j |||fi|¤Ž}d |_ |S#t$r t d«d‚wxYw#t tf$r'}|j«|dk(r td«|‚‚d}~w|j«‚xYw) Nrqrrr)ÚBZ2Filer»)r×ržznot a bzip2 fileF) r<rºrwrÈr r^rÑÚEOFErrorr®rrÀ) r¼r©rªrÄr×rhrwrrs rDÚbz2openzTarFile.bz2open³sÊ€ð ð �Ñ &ÜÐ;Ó<Ð <ð LÝ #ñ˜'š/ T¨4¸}ÔMˆð Ø�— ‘ ˜D $¨Ñ:°6Ñ:ˆAðˆŒ Øˆøô!ò LÜ"Ð#@ÓAÀtÐ Kð LûôœÐ"ò Ø �M‰MŒOØ�sŠ{ÜÐ 2Ó3¸Ð:Ø ûð Ø �M‰MŒOØ ús"’A¨AÁAÁB&Á."BÂB&c óN— |dvr td«‚ ddlm}m}||xs|||¬«} |j |||fi|¤Ž}d |_ |S#t$r t d«d‚wxYw#|tf$r'} |j«|dk(r td«| ‚‚d} ~ w|j«‚xYw) Nrqrrr)ÚLZMAFilerÕr½)Úpresetržznot an lzma fileF) r<rÓr{rÕrÈr r^rxr®rrÀ) r¼r©rªrÄr|rhr{rÕrrs rDÚxzopenzTarFile.xzopenÏsÊ€ð ð �Ñ &ÜÐ;Ó<Ð <ð Mß 0ñ˜7š? d¨D¸Ô@ˆð Ø�— ‘ ˜D $¨Ñ:°6Ñ:ˆAðˆŒ Øˆøô!ò MÜ"Ð#AÓBÈÐ Lð Mûðœ8Ð$ò Ø �M‰MŒOØ�sŠ{ÜÐ 2Ó3¸Ð:Ø ûð Ø �M‰MŒOØ ús"’AªA!ÁAÁ! B$Á,"BÂB$r^ruryr})r¾r¹rºr¼có— |jryd|_ |jdvr�|jjtt dzz«|xj t dzz c_t|j t«\}}|dkDr)|jjtt|z z«|js|jj«yy#|js|jj«wwxYw)NTrLr.r) rÆrªrÄrur?r rrsÚ RECORDSIZErÀr®)r¨rzr{s rDr®z TarFile.closeösÏ€ð ð �;Š;Ø àˆŒ ð %Ø�y‰y˜OÑ+Ø— ‘ ×"Ñ"¤3¬)°a©-Ñ#8Ô9Ø— ’ ¤ ¨A¡ Ñ.• ô%+¨4¯;©;¼ Ó$CÑ!�˜ ؘq’=Ø—L‘L×&Ñ&¤s¬j¸9Ñ.DÑ'EÔFà×#Ò#Ø— ‘ ×"Ñ"Õ$ð$ø�4×#Ò#Ø— ‘ ×"Ñ"Õ$ð$ús —BCÃ)Dcóh— |j|jd««}|€td|z«‚|S)NrXzfilename %r not found)Ú _getmemberrhÚKeyError)r¨r©r<s rDÚ getmemberzTarFile.getmember s;€ð ð —/‘/ $§+¡+¨cÓ"2Ó3ˆØ ˆ?ÜÐ2°TÑ9Ó:Ð :؈rFcót— |j«|js|j«|jSr­)Ú_checkrWÚ_loadrVr¯s rDÚ getmemberszTarFile.getmemberss,€ð ð � ‰ Œ Ø�|Š|Ø �J‰JŒLà�|‰|ÐrFcó^— |j«D�cgc]}|j‘Œc}Scc}wr­)r‡r©)r¨r<s rDÚgetnameszTarFile.getnames s.€ð ð-1¯O©OÔ,=Ó>Ñ,= �— “ Ð,=Ñ>Ð>ùÒ>s”*có0— |jd«|� |j}|€|}tjj |«\}}|j tj d«}|jd«}|j«}||_ |€8|jstj|«}n9tj|«}n#tj|j««}d}|j}tj |«r„|j"|j$f} |jsE|j&dkDr6| |j(vr(||j(| k7rt*} |j(| }n½t,} | dr²||j(| <n¢tj.|«rt0} n†tj2|«rt4} njtj6|«rt8} tj:|«}n9tj<|«rt>} ntj@|«rtB} ny||_||_"|jF|_$|jJ|_&| t,k(r|jN|_(nd|_(|jR|_*| |_+||_,tZr( t[j\|jH«d|_/tbr( tcjd|jL«d|_3| t>tBfvrhtitd«rXtitd«rHtjj|jl«|_7tjp|jl«|_9|S#t`$rYŒ±wxYw#t`$rYŒ’wxYw)NÚawxrXr¸r-rÚmajorÚminor):r…r©r¡r/Ú splitdriverÞr^r_r<r;rQÚlstatÚstatÚfstatÚfilenoÚst_modeÚS_ISREGÚst_inoÚst_devÚst_nlinkrXr2r�ÚS_ISDIRr“ÚS_ISFIFOr8ÚS_ISLNKr0ÚreadlinkÚS_ISCHRrÄÚS_ISBLKrÅrªÚst_uidr3Úst_gidr4Úst_sizer1Úst_mtimer2rzr[ÚpwdÚgetpwuidr5r‚ÚgrpÚgetgrgidr6r¦rŒÚst_rdevr{r�r|) r¨r©ÚarcnamerÄÚdrvr<Ústatresr[ÚstmdÚinoderzs rDÚ gettarinfozTarFile.gettarinfo&sË€ð ð � ‰ �EÔð Ð Ø—<‘<ˆDð ˆ?؈GÜ—w‘w×)Ñ)¨'Ó2‰ ˆˆWØ—/‘/¤"§&¡&¨#Ó.ˆØ—.‘. Ó%ˆð—,‘,“.ˆØˆŒð ˆ?Ø×#Ò#ÜŸ(™( 4›.‘äŸ'™' $›-‘ä—h‘h˜wŸ~™~Ó/Ó0ˆG؈à�‰ˆÜ �<‰<˜Ô Ø—^‘^ W§^¡^Ð4ˆEØ×#Ò#¨×(8Ñ(8¸1Ò(<ؘTŸ[™[Ñ(¨W¸¿ ¹ ÀEÑ8JÒ-Jô�ØŸ;™; uÑ-‘ô�ؘ’8Ø)0�D—K‘K Ò&Ü �\‰\˜$Ô Ü‰DÜ �]‰]˜4Ô Ü‰DÜ �\‰\˜$Ô ÜˆDÜ—{‘{ 4Ó(‰HÜ �\‰\˜$Ô Ü‰DÜ �\‰\˜$Ô Ü‰DàðˆŒ ØˆŒ Ø—n‘nˆŒ Ø—n‘nˆŒ Ø ”7Š?Ø"Ÿ?™?ˆG�LàˆGŒLØ×(Ñ(ˆŒ ؈Œ Ø#ˆÔÝ ð Ü #§ ¡ ¨W¯[©[Ó 9¸!Ñ <�” õ ð Ü #§ ¡ ¨W¯[©[Ó 9¸!Ñ <�” ð ”GœWÐ%Ñ %Ü”r˜7Ô#¬´°GÔ(<Ü#%§8¡8¨G¯O©OÓ#<�Ô Ü#%§8¡8¨G¯O©OÓ#<�Ô Øˆøôò Ùð ûô ò Ùð ús$Ê-'M:Ë'N Í: NÎNÎ NÎN)rVcóž— |j«|€|}|D�]²}|�r&|j€ td«n(ttj|j««t|j xs |j ›d|jxs |j›�«|j«s|j«r(tdd|j|jfzz«ntd|jz«|j€ td«n.tdtj |j«ddz«t|j"|j%«rdnd z«|rP|j'«rtd |j(z«|j+«rtd |j(z«t-«�Œµy) Nz ??????????rXz%10sz%d,%dz%10dz????-??-?? ??:??:??z%d-%02d-%02d %02d:%02d:%02dròr¸z-> zlink to )r…rªr…r�rmr5r3r6r4r4r6r{r|r1r2räÚ localtimer©rdrer[rcr„)r¨ÚverboserVr<s rDrz TarFile.list‰sk€ð ð � ‰ Œ à ˆ?؈G܈GÚØ—<‘<Ð'Ü  Õ-䤧 ¡ ¨g¯l©lÓ ;Ô<Ü w§}¡}Ò'C¸¿ ¹ Ñ'CØ'.§}¡}Ò'C¸¿ ¹ Ð'CðEôFà—=‘=”? g§m¡m¤oÜ Ø$¨×(8Ñ(8¸'×:JÑ:JÐ'KÑKñ!MõNô  ¨¯©Ñ 5Ô6Ø—=‘=Ð(ÜÐ 5Õ6äÐ =Ü"&§.¡.°·±Ó"?ÀÀÐ"Cñ!DôEô ˜Ÿ ™ ¨w¯}©}¬©ÀBÑGÔ HáØ—=‘=”?Ü ¨×(8Ñ(8Ñ 8Ô9Ø—=‘=”?Ü  ¨W×-=Ñ-=Ñ =Ô>Ü ŽGñ5rF©Úfiltercód— |jd«|€|}|j�Btjj |«|jk(r|j dd|z«y|j d|«|j ||«}|€|j dd|z«y|� ||«}|€|j dd|z«y|j«r(t|d«5}|j||«ddd«y|j«r‰|j|«|ruttj|««D]S}|jtjj||«tjj||«||¬«ŒUyy|j|«y#1swYyxYw) Nr‹r.ztarfile: Skipped %rr-ztarfile: Unsupported type %rútarfile: Excluded %rrFr°)r…r©r¡r/rPÚ_dbgr¬rbrOÚaddfilerdrfÚlistdirÚaddr)r¨r©r§Ú recursiver±r<Úfs rDr·z TarFile.add¯sv€ð ð � ‰ �EÔà ˆ?؈Gð �9‰9Ð ¤R§W¡W§_¡_°TÓ%:¸d¿i¹iÒ%GØ �I‰I�aÐ.°Ñ5Ô 6Ø à � ‰ �!�TÔð—/‘/ $¨Ó0ˆà ˆ?Ø �I‰I�aÐ7¸$Ñ>Ô ?Ø ð Ð Ù˜W“oˆG؈ؗ ‘ ˜!Ð3°dÑ:Ô;Øð �=‰=Œ?ܘ4 Ô&¨!Ø— ‘ ˜W aÔ(÷'Ð&ð�]‰]Œ_Ø �L‰L˜Ô !Ùܤ§ ¡ ¨4Ó 0Ö1�AØ—H‘HœRŸW™WŸ\™\¨$°Ó2´B·G±G·L±LÀÈ!Ó4LØ%¨fðõ6ñ2ðð �L‰L˜Õ !÷'Ð&ús ÃF&Æ&F/có–— |jd«tj|«}|j|j|j|j «}|j j|«|xjt|«z c_|j}|��t||j |j|¬«t|jt«\}}|dkDr.|j jtt|z z«|dz }|xj|tzz c_|j j#|«y)Nr‹)ryrr-)r…rŽr�rbrBrCrÄrurr>rUrrr1rsr r?rVr)r¨r<rÄrkryrzr{s rDrµzTarFile.addfileâsò€ð ð � ‰ �EÔä—)‘)˜GÓ$ˆà�m‰m˜DŸK™K¨¯©¸¿ ¹ ÓDˆØ � ‰ ×ј3ÔØ � Š ”s˜3“xÑ� Ø× Ñ ˆà Ð Ü ˜ §¡¨w¯|©|ÀWÕ MÜ & w§|¡|´YÓ ?Ñ ˆF�Iؘ1Š}Ø— ‘ ×"Ñ"¤3¬)°iÑ*?Ñ#@ÔAؘ!‘ �Ø �KŠK˜6¤IÑ-Ñ -�Kà � ‰ ×јGÕ$rFcó—|€M|j}|€"tjdtd¬«tSt |t «r td«‚|St|«r|S t|S#t$rtd|›d�«d‚wxYw)Nz˜Python 3.14 will, by default, filter extracted tar archives and reject files or modify their metadata. Use the filter argument to control this behavior.r)Ú stacklevelzrString names are not supported for TarFile.extraction_filter. Use a function such as tarfile.data_filter directly.zfilter z not found) Úextraction_filterÚwarningsÚwarnÚDeprecationWarningrr¯r²Ú TypeErrorÚcallableÚ_NAMED_FILTERSr‚r<)r¨r±s rDÚ_get_filter_functionzTarFile._get_filter_functionûs €Ø ˆ>Ø×+Ñ+ˆF؈~Ü— ‘ ðJô'°1õ 6ô ,Ð+ܘ&¤#Ô&Üð6ó7ð7ðˆMÜ �FÔ ØˆMð GÜ! &Ñ)Ð )øÜò Gܘw v j° Ð;Ó<À$Ð Fð Gús ÁA'Á'B)Ú numeric_ownerr±cóÀ— g}|j|«}|€|}|D]a}|j|||«\}} |€Œ|j«r|j| «|j |||j« ||¬«Œc|j d„d¬«|D]Ì} || |«}|€|j| d«Œ#tjj||j«} tj| «} tj | j"«s|j|d«Œ•|j%|| |¬«|j'|| «|j)|| «ŒÎy#t $r%} |j| t| ««Yd} ~ Œùd} ~ wwxYw#t$r|j|d«Y�ŒwxYw#t*$r} |j-| «Yd} ~ �ŒCd} ~ wwxYw) N)Ú set_attrsrÅÚfilter_functioncó—|jSr­r„)rJs rDÚz$TarFile.extractall..5 s€ q§v¢vrFT)raÚreversezexcluded by filterÚmissingznot a directory)rÅ)rÄÚ_get_extract_tarinfordrÚ _extract_oneÚsortÚ_FILTER_ERRORSÚ_log_no_directory_fixupÚreprr¡r/rr©r�ÚFileNotFoundErrorr�r˜r“ÚchownÚutimeÚchmodr Ú_handle_nonfatal_error)r¨r/rVrÅr±Ú directoriesrÈrir<Ú unfilteredÚexcÚdirpathr�rs rDÚ extractallzTarFile.extractall sÜ€ð ðˆ à×3Ñ3°FÓ;ˆØ ˆ?؈GãˆFØ"&×";Ñ";ؘ¨ó#/Ñ ˆG�ZàˆØØ�}‰}Œð×"Ñ" :Ô.Ø × Ñ ˜g t¸7¿=¹=»?Ð7JØ,9Ø.=ð õ ?ðð ×ÑÑ-°tÐÔ<ó&ˆJð /ðÙ-¨j¸$Ó?�Gð�?Ø×0Ñ0°Ø1EôGàÜŸ'™'Ÿ,™, t¨W¯\©\Ó:�ðÜŸH™H WÓ-�Eô—|‘| E§M¡MÔ2ð×0Ñ0°Ð:KÔLØØ— ‘ ˜7 G¸=� ÔIØ— ‘ ˜7 GÔ,Ø— ‘ ˜7 GÕ,ñ5&øô &òØ×0Ñ0°¼TÀ#»YÔGÜûðûô)òØ×0Ñ0°¸)ÔDÚðûô ò /Ø×+Ñ+¨A×.Ò.ûð /úsl E%Â#F8Â8*F8Ã#FÃ81F8Ä*8F8Å% FÅ.FÆ F8ÆFÆF8ÆF5Æ1F8Æ4F5Æ5F8Æ8 GÇGÇGcóJ—|jdd|j›d|›d�«y)Nr.z!tarfile: Not fixing up directory z (Ú))r´r©)r¨riÚreasons rDrÑzTarFile._log_no_directory_fixupW s€Ø � ‰ ‘!Ø—;“;¢ð(õ )rFcó†— |j|«}|j|||«\}}|�|j|||||¬«yy)N)rÈ)rÄrÍrÎ) r¨rir/rÇrÅr±rÈr<rÙs rDÚextractzTarFile.extract[ s^€ð ð×3Ñ3°FÓ;ˆØ"×7Ñ7Ø �O Tó+ш�à Ð Ø × Ñ ˜g t¨Y¸ Ø.=ð õ ?ð rFcóö— t|t«r|j|«}n|}d} |||«}|€ |jdd|jz«y|j«rDtj|«}tjj||j«|_||fS#ttf$r}|j |«Yd}~ŒŸd}~wt $r}|j|«Yd}~ŒÁd}~wwxYw)Nr.r³)NN)r¯r²rƒrÑrÚ_handle_fatal_errorr r×r´r©rcrŽr¡r/rr[r)r¨rirÈr/rÙÚfilteredrs rDrÍzTarFile._get_extract_tarinfop sã€ð ô �fœcÔ "ØŸ™¨Ó/‰JàˆJàˆð +Ù& z°4Ó8ˆHð Ð Ø �I‰I�aÐ/°*·/±/ÑAÔ BØð �>‰>Ô Ü—y‘y Ó*ˆHÜ$&§G¡G§L¡L°°x×7HÑ7HÓ$IˆHÔ !ؘÐ#Ð#øôœÐ%ò (Ø × $Ñ $ Q× 'Ñ 'ûÜò +Ø × 'Ñ '¨× *Ñ *ûð +ús#© B,Â,C8Â;Cà C8ÃC3Ã3C8có:— |jd« |j|tjj ||j «||||¬«y#t $r}|j|«Yd}~yd}~wt$r}|j|«Yd}~yd}~wwxYw)Nrž)rÇrÅrÈÚextraction_root) r…Ú_extract_memberr¡r/rr©rÑrãr r×)r¨r<r/rÇrÅrÈrs rDrÎzTarFile._extract_oneŽ s�€ð ð � ‰ �CÔð +Ø × Ñ  ¬"¯'©'¯,©,°t¸W¿\¹\Ó*JØ+4Ø/<Ø1@Ø15ð !õ 7øô ò (Ø × $Ñ $ Q× 'Ñ 'ûÜò +Ø × 'Ñ '¨× *Ñ *ûð +ús#”?AÁ BÁA3Á3 BÁ?BÂBcóP— |jdkDr‚|jdd|z«y)Nr-ú tarfile: %s)rTr´©r¨rs rDr×zTarFile._handle_nonfatal_error¢ s'€ØKØ �?‰?˜QÒ Ø à �I‰I�a˜¨Ñ*Õ +rFcóN— |jdkDr‚t|t«rY|j€ |j dd|j z«y|j dd|j ›d|j›�«y|j ddt |«j›d|›�«y)Nrr-réz tarfile: r)rTr¯rÑÚfilenamer´Ústrerrorrzrˆrês rDrãzTarFile._handle_fatal_error© sw€Ø?Ø �?‰?˜QÒ Ø Ü ˜œ7Ô #Ø�z‰zÐ!Ø— ‘ ˜!˜]¨Q¯Z©ZÑ7Õ8à— ‘ ™!°·³¸Q¿ZºZÐHÕIà �I‰I‘a¬T°!«W×-=Ó-=¹qÐAÕ BrFcó¢— |jd«t|t«r|j|«}n|}|j «s|j t vr|j||«S|j«s|j«rEt|jt«r td«‚|j|j|««Sy)Nržz'cannot extract (sym)link as file object)r…r¯r²rƒrbrzrùÚ fileobjectrcrerÄrµr Ú extractfileÚ_find_link_target)r¨rir<s rDrðzTarFile.extractfileµ s§€ð ð � ‰ �CÔä �fœcÔ "Ø—n‘n VÓ,‰GàˆGà �=‰=Œ?˜gŸl™l´/ÑAà—?‘? 4¨Ó1Ð 1à �]‰]Œ_ § ¡ ¤Ü˜$Ÿ,™,¬Ô0ô"Ð"KÓLÐLð×'Ñ'¨×(>Ñ(>¸wÓ(GÓHÐHðrF©rÈræcóŠ— |jd«}|jdtj«}tjj |«}|r4tjj |«stj|«|j«s|j«r,|jd|j›d|j›�«n|jd|j«|j«r|j||«næ|j«r|j!||«nÃ|j#«r|j%||«n |j'«s|j)«r|j+||«nm|j«s|j«r|j-||||¬«n7|j.t0vr|j3||«n|j||«|rI|j5|||«|j«s%|j7||«|j9||«yyy)NrXr-z -> rò)rhrÞr¡r^r/rgrNÚmakedirsrcrer´r©r[rbÚmakefilerdÚmakedirr9Úmakefifor4r6ÚmakedevÚmakelink_with_filterrzrùÚ makeunknownrÔrÖrÕ)r¨r<Ú targetpathrÇrÅrÈræÚ upperdirss rDrçzTarFile._extract_memberÕ s¥€ð ð ×&Ñ& sÓ+ˆ Ø×'Ñ'¨¬R¯V©VÓ4ˆ ô—G‘G—O‘O JÓ/ˆ Ù œRŸW™WŸ^™^¨IÔ6ô �K‰K˜ Ô "à �=‰=Œ?˜gŸm™mœoØ �I‰I�a w§|£|°W×5EÒ5EÐFÕ Gà �I‰I�a˜Ÿ™Ô &à �=‰=Œ?Ø �M‰M˜' :Õ .Ø �]‰]Œ_Ø �L‰L˜ *Õ -Ø �^‰^Ô Ø �M‰M˜' :Õ .Ø �]‰]Œ_ § ¡ ¤Ø �L‰L˜ *Õ -Ø �]‰]Œ_ § ¡ ¤Ø × %Ñ %Ø˜Ø /Ø /ð &õ 1ð�\‰\¤Ñ 0Ø × Ñ ˜W jÕ 1à �M‰M˜' :Ô .á Ø �J‰J�w  ¨MÔ :Ø—=‘=”?Ø— ‘ ˜7 JÔ/Ø— ‘ ˜7 JÕ/ð#ð rFcóÖ— |j€tj|«ytj|d«y#t$r#tjj |«s‚YywxYw)NiÀ)rªr¡ÚmkdirÚFileExistsErrorr/rd©r¨r<rûs rDrözTarFile.makedir sY€ð ð Ø�|‰|Ð#ä—‘˜Õ$ô—‘˜ UÕ+øÜò Ü—7‘7—=‘= Ô,Øñ-ð úsƒ!<¥<¼)A(Á'A(c óÈ— |j}|j|j«|j}t |d«5}|j �d|j D])\}}|j|«t |||t|«Œ+|j|j«|j«nt |||jt|«ddd«y#1swYyxYw)NrG) rÄrþr8rUrOr9rrrr1Útruncate)r¨r<rûÚsourceryÚtargetrr1s rDrõzTarFile.makefile s­€ð à—‘ˆØ� ‰ �G×'Ñ'Ô(Ø×"Ñ"ˆÜ �z 4Ô (¨FØ�~‰~Ð)Ø$+§N¤N‘L�F˜DØ—K‘K Ô'Ü ¨°´iÀÕIð%3ð— ‘ ˜GŸL™LÔ)Ø—‘Õ!ä˜F F¨G¯L©L¼)ÀWÔM÷)× (Ñ (ús ÁBCÃC!cóh— |j||«|jdd|jz«y)Nr-z9tarfile: Unknown file type %r, extracted as regular file.)rõr´rzrs rDrúzTarFile.makeunknown, s8€ð ð � ‰ �g˜zÔ*Ø � ‰ �!ð2Ø4;·L±LñAõ BrFcóf— ttd«rtj|«ytd«‚)NÚmkfifozfifo not supported by system)r¦r¡rr rs rDr÷zTarFile.makefifo4 s)€ð ä ”2�xÔ Ü �I‰I�jÕ !äÐ=Ó>Ð >rFcóh— ttd«rttd«s td«‚|j}|€d}|j «r|t j z}n|t jz}tj||tj|j|j««y)NÚmknodrøz'special devices not supported by systemrZ) r¦r¡r rªr6r�ÚS_IFBLKÚS_IFCHRr rør{r|)r¨r<rûrªs rDrøzTarFile.makedev< s‰€ð ä”r˜7Ô#¬7´2°yÔ+AÜÐHÓIÐ Ià�|‰|ˆØ ˆ<àˆDØ �=‰=Œ?Ø ”D—L‘LÑ ‰Dà ”D—L‘LÑ ˆDä �‰�˜TÜ—‘˜G×,Ñ,¨g×.>Ñ.>Ó?õ ArFcó*—|j||dd«Sr­)rùrs rDÚmakelinkzTarFile.makelinkN s€Ø×(Ñ(¨°*¸dÀDÓIÐIrFcóê— d} |j«rUtjj|«rtj|«tj |j |«ytjj|j«r!tj|j|«y |j|«}|€|}n;|€ td«‚ ||j|jd¬«|«|||«}|�|j%||||¬«yy#t$rd}YŒxwxYw#t$r|r td«d‚‚wxYw#t $r}t#||j«|‚d}~wwxYw)NFTz%unable to resolve link inside archivez[makelink_with_filter: if filter_function is not None, extraction_root must also not be None)r©rsrò)rer¡r/ÚlexistsÚunlinkÚsymlinkr[rNrÚlinkÚsymlink_exceptionrñr‚r rÞr©rÐrUrç) r¨r<rûrÈræÚkeyerror_to_extracterrorrÙräÚcauses rDrùzTarFile.makelink_with_filterQ s†€ð ð$)Ð ð ,à�}‰}ŒÜ—7‘7—?‘? :Ô.ä—I‘I˜jÔ)Ü— ‘ ˜7×+Ñ+¨ZÔ8Øä—7‘7—>‘> '×"6Ñ"6Ô7Ü—G‘G˜G×0Ñ0°*Ô=Øð8ð  Ø×/Ñ/°Ó8ˆJð Ð "Ø!‰HàÐ&Ü"ð>ó?ð?ð MÙØ×&Ñ&¨G¯L©L¸uÐ&ÓEØ#ô%ñ+¨:°ÓG�ð Ð Ø × Ñ  ¨:Ø1@Ø1@ð !õ Bð øô5!ò ,Ø'+Ò $ð ,ûô ò Ù'Ü"Ø;ó=ØBFðGðð  ûô&"ò MÜ'¨°·±ÓAÀuÐLûð Mús=…A$D Á*A D Â6D1Ã-E Ä D.Ä-D.Ä1E Å E2ÅE-Å-E2có†— ttd«rõtj«dk(rÝ|j}|j}|sj t r.|j r"t j|j «d} tr.|jr"tj|j«d}|€d}|€d} |j«r(ttd«rtj|||«ytj|||«yyy#t$rYŒ›wxYw#t$rYŒuwxYw#t$r}t!d«|‚d}~wwxYw)NÚgeteuidrr.rHÚlchownzcould not change owner)r¦r¡rr4r3r¤r6Úgetgrnamr‚r¢r5ÚgetpwnamrerrÔrÑr )r¨r<rûrÅÚgÚurs rDrÔz TarFile.chown† s€ð ô ”2�yÔ !¤b§j¡j£l°aÒ&7à— ‘ ˆAØ— ‘ ˆAÙ ðݘwŸ}š}ÜŸL™L¨¯©Ó7¸Ñ:˜ðݘwŸ}š}ÜŸL™L¨¯©Ó7¸Ñ:˜ðˆyØ�؈yØ�ð DØ—=‘=”?¤w¬r°8Ô'<Ü—I‘I˜j¨!¨QÕ/ä—H‘H˜Z¨¨AÕ.ð/'8Ð !øô òÙðûô  òÙðûôò DÜ"Ð#;Ó<À!ÐCûð DúsBÁ4DÁ94DÂ67D&Ã.D&Ä DÄDÄ D#Ä"D#Ä& EÄ/ D;Ä;Ecóœ— |j€y tj||j«y#t$r}t d«|‚d}~wwxYw)Nzcould not change mode)rªr¡rÖrÑr )r¨r<rûrs rDrÖz TarFile.chmod§ sI€ð à �<‰<Ð Ø ð ?Ü �H‰H�Z §¡Õ .øÜò ?ÜÐ6Ó7¸QÐ >ûð ?ús� 1± A º AÁA có²— |j}|€yttd«sy tj|||f«y#t$r}t d«|‚d}~wwxYw)NrÕz"could not change modification time)r2r¦r¡rÕrÑr )r¨r<rûr2rs rDrÕz TarFile.utime± s]€ð à— ‘ ˆØ ˆ=Ø Ü”r˜7Ô#Ø ð LÜ �H‰H�Z %¨ Õ 0øÜò LÜÐCÓDÈ!Ð Kûð Lús£<¼ AÁ AÁAcóN— |jd«|j�|j}d|_|S|j|jj «k7r^|jdk(ry|jj |jdz «|jj d«s td«‚d} |jj|«} |�|j0j3|«|Sd|_|S#t$rU}|jr?|jdd|j|fz«|xjtz c_Yd}~ŒšYd}~Œ‚d}~wt$rz}|jr?|jdd|j|fz«|xjtz c_Yd}~Œö|jdk(rtt|««d‚Yd}~�Œd}~wt $r|jdk(r td«d‚Y�Œ-t"$r/}|jdk(rtt|««d‚Yd}~�Œ_d}~wt$$r}tt|««d‚d}~wt&$r@} ddl}t+||j,«rtd |›�«d‚|‚#t.$r|‚wxYwd}~wwxYw) NÚrarr-rpTr.z0x%X: %sz empty filez zlib error: )r…rYrrÄrûrþrtrr<rïr–rRr´r rYr²r’r”r™Ú ExceptionrÇr¯rËrÈrVrrW)r¨Úmr<rrÇs rDrþz TarFile.next¿ sW€ð ð � ‰ �DÔØ × Ñ Ð 'Ø× Ñ ˆAØ#ˆDÔ ØˆHð �;‰;˜$Ÿ,™,×+Ñ+Ó-Ò -Ø�{‰{˜aÒØØ �L‰L× Ñ ˜dŸk™k¨A™oÔ .Ø—<‘<×$Ñ$ QÔ'ÜÐ 8Ó9Ð9ðˆØð ØŸ,™,×2Ñ2°4Ó8�ð< à Ð Ø �L‰L× Ñ  Ô (ðˆð ˆDŒLàˆøôI"ò Ø×$Ò$Ø—I‘I˜a ¨t¯{©{¸AÐ.>Ñ!>Ô?Ø—K’K¤9Ñ,•KÜô%ûô&ò 6Ø×$Ò$Ø—I‘I˜a ¨t¯{©{¸AÐ.>Ñ!>Ô?Ø—K’K¤9Ñ,•KÜØ—[‘[ AÒ%Ü#¤C¨£FÓ+°Ð5õ&ûä#ò <Ø—;‘; !Ò#Ü# LÓ1°tÐ;ò$ä'ò 6Ø—;‘; !Ò#Ü#¤C¨£FÓ+°Ð5õ$ûä(ò 2ܤ A£Ó'¨TÐ1ûÜò ðÛÜ! ! T§Z¡ZÔ0Ü'¨,°q°cÐ(:Ó;ÀÐEà˜øÜ"òØ�Gðþð úsbÂ=DÄ J$Ä AEÅ J$Å&AGÆ1$GÇ'J$ÈJ$È $H7È7 J$ÉIÉ J$É%+JÊ JÊJÊJ$có¸— |j«}d}|� |j|«}|d|}|rtjj |«}t |«D]a}|r|j|jk(rd}Œ!|r*tjj |j«}n |j}||k(sŒ_|cS|r t|«‚y#t$rd}YŒ«wxYw)NFT) r‡Úindexr<r¡r/rfÚreversedrr©) r¨r©r<Ú normalizerVÚskippingr$riÚ member_names rDr�zTarFile._getmember sá€ð ð—/‘/Ó#ˆðˆØ Ð ð *ØŸ ™  gÓ.�ð" & 5˜/�á Ü—7‘7×#Ñ# DÓ)ˆDä˜wÖ'ˆFÙØ—>‘> V§]¡]Ò2Ø$�HØÙÜ Ÿg™g×.Ñ.¨v¯{©{Ó;‘ à$Ÿk™k� à�{Ó"Ø’ ð(ñ ä˜WÓ%Ð %ð øô1ò ð ’ð ús—C à CÃCcóX— |j«� |j«�Œd|_yr)rþrWr¯s rDr†z TarFile._load( s-€ð ð�i‰i‹kÐ%Ø ð�i‰i‹kÑ%àˆ� rFcó´— |jr"td|jjz«‚|�'|j|vrtd|jz«‚yy)Nz %s is closedzbad operation for mode %r)rÆrÑr=rˆrª)r¨rªs rDr…zTarFile._check0 sX€ð ð �;Š;ܘ.¨4¯>©>×+BÑ+BÑBÓCÐ CØ Ð  § ¡ °Ñ 5ÜÐ5¸¿ ¹ ÑAÓBÐ Bð!6Ð rFcó.— |j«rQdjtdtjj |j «|jf««}d}n|j}|}|j||d¬«}|€td|z«‚|S)NrXT)r<r&zlinkname %r not found) rerr±r¡r/rgr©r[r�r‚)r¨r<r[Úlimitris rDrñzTarFile._find_link_target9 s‰€ð ð �=‰=Œ?à—x‘x¤ t¬b¯g©g¯o©o¸g¿l¹lÓ.KÈW×M]ÑM]Ð-^Ó _Ó`ˆH؉Eð×'Ñ'ˆH؈Eà—‘ °5ÀD�ÓIˆØ ˆ>ÜÐ2°XÑ=Ó>Ð >؈ rFc#óTK— |jr|jEd{–—†yd}|j�|j«}|dz }|–— |t |j«kr|j|}n'|js|j«}|s d|_yy|dz }|–—ŒY7Œ†­w)Nrr-T)rWrVrYrþr>)r¨r$r<s rDÚ__iter__zTarFile.__iter__L s¬èø€ð à �<Š<Ø—|‘|× #Ð #Ø ðˆð × Ñ Ð 'Ø—i‘i“kˆGØ �Q‰JˆEØŠMàØ”s˜4Ÿ<™<Ó(Ò(ØŸ,™, uÑ-‘Ø—\’\ØŸ)™)›+�ÙØ#'�D”LØàØ �Q‰JˆEØŠMðð $ús‚B(ŸB& BB(có\— ||jkrt|tj¬«yy)N©Úfile)rSr„r‚Ústderr)r¨ÚlevelÚmsgs rDr´z TarFile._dbgk s&€ð à �D—J‘JÒ Ü �#œCŸJ™JÖ 'ð rFcó&—|j«|Sr­)r…r¯s rDÚ __enter__zTarFile.__enter__q s€Ø � ‰ Œ ؈ rFcó„—|€|j«y|js|jj«d|_yr)r®rÀrÄrÆ)r¨rzrœÚ tracebacks rDÚ__exit__zTarFile.__exit__u s2€Ø ˆ<Ø �J‰J�Lð×#Ò#Ø— ‘ ×"Ñ"Ô$؈D�KrF) NržNNNNNNr–NNNN)ržN)ržNre)ržNN)NNN©Trr­)Ú.N)r¸T)TFr")?rˆr‰rŠrSrQrRrTrrbr rBrCrr<r6rïr½r«rBrrr^ruryr}r_r®rƒr‡r‰r¬rr·rµrÄrÜrÑrárÍrÎr×rãrðrçrörõrúr÷rør rùrÔrÖrÕrþr�r†r…rñr.r´r6r9r‹rFrDrrŸsæ„ðð €Eà€Kð€Lð€Jð€Fà€Hà €Fà€Gà€JàÐàAEØHLØ>BØ)-óbð^Ø #¨t¸Zò]/óð]/ð~ò2óð2ðòóðð@òóðð6òóðð:ØØØñ €Iò%ò* òò?ó aðF$¨Dô$ðL1"Àô1"óf%ò2Gð.C/À%ØôC/òJ)ð?ÈØô?ò*$ð>&*ó+ò(,ò Còð@>BØ&+ð10Ø@DØ(,ô10òp òNò Bò?òAò$Jò3BòjDòB?ò Lò<óB&&òPóCòò&ò>(ò órFrcóЗ t|d«r.|j«}t|¬«}|j|«n t|«}|j «y#t $rYywxYw)Nrt)rÄTF)r¦rûrrþr®r)r©rÅrs rDrrƒ s]€ðð Ü �4˜Ô Ø—)‘)“+ˆCܘTÔ"ˆAØ �I‰I�c�Nä�T“ ˆAØ �‰Œ ØøÜ òÙðúsƒAAÁ A%Á$A%c ó¾—ddl}d}|j|¬«}|jddddd¬ «|jd d td ¬ «|j d¬«}|jdddd¬«|jddddd¬«|jddddd¬«|jdd dd!¬«|j «}|j r|j€|jd"d#«|j�¯|j}t|«rut|d$«5}|j«t|j«tj¬%«ddd«|j r=td&j#|««y|jd"d'j#|««yy|j$�u|j$}t|«rzFilter for extraction)ÚmetavarÚchoicesrBT)Úrequiredz-lz--listú zShow listing of a tarfile)rCrBz-ez --extractÚ+)rFz zExtract tarfile into target dir)ÚnargsrCrBz-cz--create)zzzCreate tarfile from sourcesz-tz--testzTest if a tarfile is validr-z&--filter is only valid for extraction ržr0z{!r} is a tar archive.z{!r} is not a tar archive. r\)r¯r.)r/r±r;z{!r} file is extracted.z+{!r} file is extracted into {!r} directory.r¹r¼rº)rÜz.tgzz.xzz.txzz.bz2z.tbzz.tbz2z.tb2zw:rŸz{!r} file created.)ÚargparseÚArgumentParserÚ add_argumentrÃÚadd_mutually_exclusive_groupÚ parse_argsr±ráÚexitÚtestrrr‡r„r‚r2r¯rbrrr>r¡ÚcurdirÚ format_helprÜÚcreatergr/Úsplitextr·)rIr>ÚparserrÚargsrvr¾ÚtfrPr4Útar_namerÚextÚ compressionsÚtar_modeÚ tar_filesÚ file_names rDÚmainr]˜ sÝ€ÛàG€KØ × $Ñ $°Ð $Ó =€FØ ×ј˜k°,ÈØ-ðô/à ×ј ¨NÜ .Ø4ðô6ð × /Ñ /¸Ð /Ó >€EØ ×Ñ�t˜X¨{Ø7ðô9à ×Ñ�t˜[°Ø<Ø=ðô?ð ×Ñ�t˜Z¨sØ3Ø9ðô;ð ×Ñ�t˜X¨{Ø8ðô:ð × Ñ Ó €Dà ‡{‚{�t—|‘|Ð+Ø� ‰ �AÐ@ÔAà ‡y�yÐØ�i‰iˆÜ �cŒ?Ü�c˜3” 3Ø—‘Ô Ü�c—n‘nÓ&¬S¯Z©ZÕ8÷ ð�|Š|ÜÐ.×5Ñ5°cÓ:Õ;à �K‰K˜Ð9×@Ñ@ÀÓEÕ Fðð �‰Ð Ø�i‰iˆÜ �cŒ?Ü—‘˜c 5Ô)¨RØ—‘ § ¡ �Ô-÷*Ð)ð �K‰K˜Ð9×@Ñ@ÀÓEÕ Fà �‰Ñ !Ü ˆt�|‰|Ó  Ò !Ø—,‘,˜q‘/ˆCÜ—Y‘Y‰FÜ �—‘Ó  !Ò #ØŸ,™,‰KˆC‘à �K‰K˜˜6×-Ñ-Ó/Ô 0ä �cŒ?Ü—‘˜c 5Ô)¨RØ— ‘  6°$·+±+� Ô>÷*à�|Š|ؘS’=Ø3×:Ñ:¸3Ó?‘Cð2ß39±6¸#¸vÓ3Fðä�c• à �K‰K˜Ð9×@Ñ@ÀÓEÕ Fðð �‰Ð Ø—;‘;—?‘? 1Ó%ˆÜ—‘×!Ñ! (Ó+‰ˆˆ3ðØàØàØØØñ  ˆ ð03°lÑ/B�4˜, sÑ+Ò+ȈؗK‘Kˆ ä �\‰\˜( HÔ -°Û&� Ø—‘�yÕ!ñ'÷.ð �<Š<Ü Ð&×-Ñ-¨hÓ7Õ 8ð ð/ !÷M ‘ú÷*Ð)ú÷*Ñ)ú÷>.Ð -ús0Ä:P-ÇP:ËQÏ"QÐ-P7Ð:QÑQÑQÚ__main__r:)mÚversionÚ __author__Ú __credits__ÚbuiltinsrrOr‚r¡r(rqr�rärirŽÚrer¾r¢rÈr¤ÚAttributeErrorÚNotImplementedErrorrÑrÚ__all__r?r rr§r¡r£r¢rÀr�rär2r0rÄrÅr“r8ÚCONTTYPErªr©rår´r»rõrrrrrùr*rçr"r r°rWr#r©r ÚgetfilesystemencodingrErLr\rdrnrrr…r!rr rr r r r’r”r–rYr™r›rµÚobjectrÁrÚBufferedReaderr6rrrrrrrUrÐrprrrrÃrŒÚcompilerrrrr]rˆr‹rFrDÚrls¬ðð:ð€Ø6€ ØH€ õ 'Û Û Û Û Û Û Û Û Û ÛðÛðÛð$Ð%8¸'ÐBÐò *€ð €Ø € Ø ˜‰^€ Ø € Ø€ à€ Ø€ Ø€ à €Ø €Ø €Ø €Ø €Ø €Ø €Ø €Ø €àÐØÐØ€à €Ø €Ø€à€ Ø € Ø € Ø€ð ˜H gؘG XؘW gØ#Ð%5Ø!ð #€ð˜(ؘ>ð+€ ðÐ/Ø ð € ð.€ ò9€ð Ø Ø Ø Ø Ø ñ Ðð‡7�7ˆd‚?Ø�Hà(ˆs×(Ñ(Ó*€Hò 0ò&ò ð(˜Nó ò< *ð"&°À$ó ò2ô ˆyô ô �8ô ô �ô ô �xô ô �(ô ô �(ô ô �{ô ô ˜;ô ô �[ô ô ˜ô ô ˜Kô ÷ñ÷0tñtôn�6ôô