\e ddlZddlZddlZddlZdejdedeeeffdZdededzfdZdejd ed ed ededzf d Z y) N release_datem_monthsreturnc|dz}|dz}|j|z|j|zdzz}|j|zdz}|dk(rd}|dz}||fS)z get the (year, month) tuple when the maintenance for the distribution ends. Needs the data of the release and the number of months that its is supported as input r)yearmonth)rryearsmonthssupport_end_yearsupport_end_months +/usr/lib/python3/dist-packages/apt/utils.pyget_maintenance_end_datersx NE ]F#((50L4F4F4OTV3VV%++f4:AA / 00pathcR|rtjj|sytjt j |5}t j |}t|}d|vr dddy|d}t j|cdddS#1swYyxYw)zF return the release date as time_t for the given release file NDate) osrexistsfdopenapt_pkgopen_maybe_clear_signed_fileTagFilenext str_to_time)rdatatagsectiondates r"get_release_date_from_release_filer!/s rww~~d+ 777= >)$ood#s)   )) v""4( )))s &B:BB&cachepkgnamelabelreleasec"||vry||}d}|jjD]W}| |j|jD]7\}}|j|k(s|j|k(s&|j |k(s6|}9Y|sy|j j|jdd} |j jD]} | jD]} | s| j| jk(s | js-tjjd} dD]k} tj| j dj#| j$| z}t&j(j+| |zsb| |zcccSy)z+get the release file that provides this pkgNrzDir::State::lists) InReleaseReleasez dists_{}_{})_pkg version_list file_listoriginr$archive_list find_indexlist index_filesdescribe is_trustedrconfigfind_diruri_to_filenameuriformatdistrrr)r"r#r$r%pkgveraverver_file_index indexfile metaindexmdirnamerelfilenames rget_release_filename_for_pkgrE?se .C C%%  <4>>1  $  Hf5(NNe+$$/    &&s}}Q'7':;I[[%% . && .AY//1::=)BVBV!..112EF7.G"22! %,,!D ww~~gn5&~-. . . r) datetimerraptinttuplerstrr!CacherErrrMs&  1##1/21 38_1( )S )S4Z ) % 99%"%+.%9<%4Z%r