N\c@sddlmZmZddlZddlZddlZddlZddlZddlZyddl m Z Wn!e k rddl m Z nXej dkrddlmZndZyeWn,ek reZeZeZdZnXdd lTd Zd Zd Zd ZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+dZ,dZ-dZ.dZ/dZ0dZ1dZ2d Z3d!Z4d"Z5d#Z6d$Z7d%Z8dZ9dZ:dZ;dZ<d%Z=d&Z>d'Z?d(Z@d ZAd ZBdZCdZDdZEd)ZFd*ZGd+ZHd,ZId-ZJdZKdZLdZMdZNd%ZOd&ZPd'ZQd(ZRd ZSd ZTdZUdZVd)ZWd*ZXd+ZYd,ZZd-Z[d.Z\d/Z]d0Z^d1Z_d2Z`d3Zad4Zbd5Zcd6Zdd7Zed8Zfd9Zgd:Zhd;Zid<Zjd=Zkd>Zld?Zmd@ZndAZodBZpdCZqdDZrdEZsdFZtdGZudHZvdIZwdZxdZydJZzdKZ{dLZ|dMZ}dNZ~dOZd*ZdPZdQZdRZdSZdTZdUZdVZdWZdXZdYZdZZd[Zd\Zd]Zd^Zd_Zd`ZdaefdbYZdcefddYZdeefdfYZdS(gi(tunicode_literalstprint_functionN(turljoinudarwini(tosxcCs |jS(N(t iteritems(tx((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyRscCs |jS(N(titems(R((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR!s(t*Iiiiiiiiiii i iiiiiiiii i i i i iiii i@iii i@iiIIIII I@IIIIIII I@IIIIII I@IIIIIIliiii i0i@i i i i i i i i0 i@ iP iiiiiiitDatacBseZddZdZRS(cCst||_dS(N(tbytes(tselftbytedata((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyt__init__scCs d|jS(NuData(%r)(R (R ((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyt__repr__sN(t__name__t __module__tNoneR R (((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyRs tURLcBs,eZddZedZdZRS(cCs7|dk r!||_||_nd|_||_dS(N(Rtbasetrelative(R Rtrel((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR s     cCs<|jdkr|jS|jj}t|jj|jSdS(uReturn an absolute URL.N(RRRtabsoluteR(R tbase_abs((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyRs cCs d|jS(NuURL(%r)(R(R ((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR sN(RRRR tpropertyRR (((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyRs  tBookmarkcBseZd dZedZedZdZdZd dZ edZ dZ edZ d Z RS( cCs%|dkrg|_n ||_dS(N(Rttocs(R R((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR s  cCs||7}|t|dkr/tdntjd|||d!\}}t||d|kr{tdn||d|d|!}|t@}|t@}|tkr|jdS|tkrt |S|t kr|t krt |dS|t krtjd|dS|tkr=tjd|dS|tkr]tjd |dS|tkr}tjd |dS|tkrtjd |dSn+|tkrtjd tjd |d} t| S|tkr|tkrtS|tkrtSn|tkr!tjd|S|tkr|tkrLt |jdS|t!krtjd|\} } |j"||| } |j"||| } t | | Sn!|t#kr%g}xbt$|d|d|dD]B}tjd|||d!\}|j%|j"|||qW|S|t&kri}x}t$|d|d|dD]]}tjd|||d!\}}|j"|||}|j"|||}|||dR is(RBRCtmagictsizetdummyRDt tocoffsetRttocbasettocsizettocmagicttocidtnexttocttoccountttoctntebaseteidteoffsettedummy((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyt from_bytes9sP%      #     cCs>x+|jD] \}}||kr ||Sq WtddS(Nu Key not found(RtKeyError(R RTttidRc((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyt __getitem__{s  cCsCt|jdkr*difg|_n||jdd|ditstdictR?RRR@R(RBtitemRERNtencodedRKRLRMtbaseenctxoffsettrelenctioffsettenctelttienctktvtextra((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR{s          "    & &    c Cs^g}g}d}xB|jD]7\}}g}xt|D]\}}t|ttfr|} |j||\} } |j| |j|| \}} |j| |j| dB| fq;|j||f|j||\}} |j| q;W|j|j|djg|D]$\}} t j d|| d^q"fqW|} xt |D]\}}|\}}|t |dkrd}n|dt |}|jt j dt |d d ||t |d |j||dt |7}qjWt j d d |ddddddd| }|j d|dj|S(u8Convert this :class:`Bookmark` to a byte representation.iIRqstsortR|RRrt enumerateRtinsert(R RNRRERkRctentriesRRtnoffsettvoffsetRtotfirst_toc_offsettndxRCt next_offsettheader((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pytto_bytessN   9    cCs/tj|}|jjd}tjtjtjBtjBdddg}tj||d}|d}|d}|d}|d} tj tjBtj Bddddg}tj||tj } | d} | d} | dtj krt } n>| dtjkrt} n"| dtjkr-t} nt } tjj|\}}d}tjj|stj}tjj|\}}d}x2|r|r|d7}tjj|\}}qWtjj||}ntjj|}tjj||}g}g}tjj|\}}|sFtjj|\}}nx|sU|r|rtj ddddg}tjtjj|||d} |jd| dtjj|\}}|jd|qItjj|\}}qIW|j||j| |t||g}ttjd| dd}ttjddt Bd t Bd}i|t!6|t"6| t#6|t$6t|dt%6|t&6|d kt'6t(d |t)6|t*6|t+6|t,6t-| j.t/6|t06d t16t2t36d t46dt56}|r||t6RRRRrt!kCFURLVolumeSupportsPersistentIDst kBookmarkPathtkBookmarkCNIDPathtkBookmarkFileCreationDatetkBookmarkFilePropertiestkBookmarkContainingFoldertkBookmarkVolumePathtkBookmarkVolumeIsRootRtkBookmarkVolumeURLtkBookmarkVolumeNametkBookmarkVolumeSizetkBookmarkVolumeCreationDateRtuppertkBookmarkVolumeUUIDtkBookmarkVolumePropertiestkBookmarkCreationOptionsR2tkBookmarkWasFileReferencetkBookmarkUserNamet kBookmarkUIDtkBookmarkURLLengthsR(RBRtsttvol_pathtattrstvolinfot vol_crtimetvol_sizetvol_nametvol_uuidtinfotcnidtcrtimetflagstdirnametfilenametrelcounttcurdirtheadttailt foldernametrel_patht name_patht cnid_patht url_lengthst filepropstvolpropsRc((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pytfor_file$s    &       $     cCsdg}x|jD]\}}|jd|x_t|D]Q\}}t|ttfrmt|}n d|}|jd||fq=W|jdqW|jddj|S(Nu Bookmark([u (0x%x, { u0x%04xu %s: %r u}), u])u(RR>RRWRRstreprR|(R RNRkRcRRtkf((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyR s   N(RRRR t classmethodR;RiRlRnRpR{RRR (((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyRs IB   X >h(t __future__RRRR6R-RtsystpprintturlparseRt ImportErrort urllib.parsetplatformRqRRRst NameErrorRRvRwtrangeR=tutilsR RR!R#R$R,R0R<R?R5R8R@RyRuR3R1R%R'R(R)R*R+tkCFNumberCharTypetkCFNumberShortTypetkCFNumberIntTypetkCFNumberLongTypetkCFNumberLongLongTypetkCFNumberFloatTypetkCFNumberDoubleTypetkCFNumberCFIndexTypetkCFNumberNSIntegerTypetkCFNumberCGFloatTypeRRRtkCFURLResourceIsVolumetkCFURLResourceIsPackagetkCFURLResourceIsSystemImmutabletkCFURLResourceIsUserImmutabletkCFURLResourceIsHiddent kCFURLResourceHasHiddenExtensiontkCFURLResourceIsApplicationtkCFURLResourceIsCompressedt kCFURLResourceIsSystemCompressedtkCFURLCanSetHiddenExtensiontkCFURLResourceIsReadabletkCFURLResourceIsWriteabletkCFURLResourceIsExecutabletkCFURLIsAliasFiletkCFURLIsMountTriggertkCFURLVolumeIsLocaltkCFURLVolumeIsAutomounttkCFURLVolumeDontBrowsetkCFURLVolumeIsReadOnlytkCFURLVolumeIsQuarantinedtkCFURLVolumeIsEjectabletkCFURLVolumeIsRemovabletkCFURLVolumeIsInternaltkCFURLVolumeIsExternaltkCFURLVolumeIsDiskImagetkCFURLVolumeIsFileVaulttkCFURLVolumeIsLocaliDiskMirrortkCFURLVolumeIsiPodtkCFURLVolumeIsiDisktkCFURLVolumeIsCDtkCFURLVolumeIsDVDtkCFURLVolumeIsDeviceFileSystemRtkCFURLVolumeSupportsSearchFStkCFURLVolumeSupportsExchanget!kCFURLVolumeSupportsSymbolicLinkstkCFURLVolumeSupportsDenyModestkCFURLVolumeSupportsCopyFiletkCFURLVolumeSupportsReadDirAttrtkCFURLVolumeSupportsJournalingtkCFURLVolumeSupportsRenametkCFURLVolumeSupportsFastStatFSt&kCFURLVolumeSupportsCaseSensitiveNamest&kCFURLVolumeSupportsCasePreservedNamestkCFURLVolumeSupportsFLockt#kCFURLVolumeHasNoRootDirectoryTimest$kCFURLVolumeSupportsExtendedSecuritytkCFURLVolumeSupports2TBFileSizetkCFURLVolumeSupportsHardLinkst+kCFURLVolumeSupportsMandatoryByteRangeLockstkCFURLVolumeSupportsPathFromIDtkCFURLVolumeIsJournalingtkCFURLVolumeSupportsSparseFilestkCFURLVolumeSupportsZeroRunstkCFURLVolumeSupportsVolumeSizest kCFURLVolumeSupportsRemoteEventstkCFURLVolumeSupportsHiddenFilest&kCFURLVolumeSupportsDecmpFSCompressiontkCFURLVolumeHas64BitObjectIDstkCFURLVolumePropertyFlagsAllR9R:RRRtkBookmarkFileNametkBookmarkFileIDRtkBookmarkTOCPathRRRRRRRRtkBookmarkVolumeBookmarktkBookmarkVolumeMountPointRRRRRRtkBookmarkSecurityExtensiontobjectRRR(((sZ/Volumes/data/Documents/electron-builder/packages/dmg-builder/vendor/mac_alias/bookmark.pyts"