+
    {™ÊcÊ/  ã                   ó  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  ! 4        R^xR^dR^PR^<R^<R^(R^/t
R	t ! R
 R4      tR t ! R R4      t]R8X  Ed   ]P                   ! ]P"                  R7       ]! ]P&                  4      ^8  dm   ]! R]P&                  ^ ,          ,          4       ]! R]P&                  ^ ,          ,          4       ]! R]P&                  ^ ,          4       ]P*                  ! ^4       ]! ]P&                  R,          4      t]P/                  ]P&                  ^,          4       ]P0                  P3                  4        F  w  tt]P8                  ! ]: R]: 24       K!  	  R# R# )é    NÚmainÚuniverseÚcontribznon-free-firmwareÚ
restrictedznon-freeÚ
multiverseaª  
           CREATE TABLE IF NOT EXISTS "commands" 
           (
            [cmdID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
            [pkgID] INTEGER NOT NULL,
            [command] TEXT,
            FOREIGN KEY ([pkgID]) REFERENCES "pkgs" ([pkgID])
           );
           CREATE TABLE IF NOT EXISTS "packages"
           (
            [pkgID] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
            [name] TEXT,
            [version] TEXT,
            [component] TEXT,
            [priority] INTEGER
           );
           CREATE INDEX IF NOT EXISTS idx_commands_command ON commands (command);
           CREATE INDEX IF NOT EXISTS idx_packages_name ON packages (name);
c                   ó2   a € ] tR t^=t o R tR tR tRtV tR# )Úmeasurec                ó   € Wn         W n        R # ©N)ÚwhatÚstats)Úselfr   r   s   &&&Ú</usr/lib/python3/dist-packages/CommandNotFound/db/creator.pyÚ__init__Úmeasure.__init__>   s   € ØŒ	ØŽ
ó    c                ó:   € \         P                   ! 4       V n        R # r   )ÚtimeÚnow)r   s   &r   Ú	__enter__Úmeasure.__enter__A   s   € Ü—9’9“;ˆŽr   c                ó  € V P                   V P                  9   g   ^ V P                  V P                   &   V P                  V P                   ;;,          \        P                  ! 4       V P                  ,
          ,          uu&   R# )r   N)r   r   r   r   )r   Úargss   &*r   Ú__exit__Úmeasure.__exit__C   sK   € Ø�y‰y˜DŸJ™JÔ&Ø$%ˆD�J‰J�t—y‘yÑ!Ø�
‰
�4—9‘9×¤§¢£¨t¯x©xÕ!7Õ7Õr   )r   r   r   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r	   r	   =   s   ø‡ € òò÷8ð 8r   r	   c                 ó¦   €  \         P                  ! V 4       R #   \         d,   pTP                  \        P                  8w  d   h  R p?R # R p?ii ; ir   )ÚosÚremoveÚOSErrorÚerrnoÚENOENT)ÚpathÚes   & r   Úrm_fr,   I   s:   € ðÜ
�	Š	�$ŽøÜô Ø�7‰7”e—l‘lÔ"Øõ #ûðús   ‚ šA¥ AÁAc                   óh   a € ] tR t^Qt o R tR tR tR tR tR t	R t
R tR	 tR
 tR tR tRtV tR# )Ú	DbCreatorc                ó�   € Wn         \        P                  ! 4       ^ ,          V n        R^ R\        P                  ! 4       /V n        R# )r   ÚtotalÚ
total_timeN)ÚfilesÚapt_pkgÚget_architecturesÚprimary_archr   r   )r   r2   s   &&r   r   ÚDbCreator.__init__R   s3   € ØŒ
Ü#×5Ò5Ó7¸Õ:ˆÔØ˜q ¬t¯yªy«{Ð;ˆŽ
r   c                óü  € VR ,           pV P                  V4      '       g   \        P                  ! RV4       R# VR,           p\        P                  ! V4      ;_uu_ 4       p VP                  \        4       V P                  V4       RRR4       \        T4       \        P                  ! Y14       \!        TR4      ;_uu_ 4       p\"        P$                  ! T P'                  4       T4       RRR4       R#   \        P                   dJ   p\        T4      R8X  d3   \        P                  ! RT4       \        P                  ! ^ 4        Rp?LÄThRp?ii ; i  + '       g   i     LÖ; i  + '       g   i     R# ; i)z	.metadataz0%s does not require an update (inputs unchanged)Nz.tmpzdatabase is lockedz*%s is locked by another process. Ignoring.Úw)Ú_db_update_neededÚloggingÚinfoÚsqlite3ÚconnectÚexecutescriptÚcreate_db_sqlÚ_fill_commandsÚOperationalErrorÚstrÚwarningÚsysÚexitr,   r%   ÚrenameÚopenÚjsonÚdumpÚ_calc_input_metadata)r   ÚdbnameÚmetadata_fileÚtmpdbÚconr+   Úfps   &&     r   ÚcreateÚDbCreator.createV   s  € Ø˜{Õ*ˆØ×%Ñ% m×4Ò4Ü�LŠLØBÀFôLáØ�v•ˆÜ�_Š_˜U×#Ô# sðØ×!Ñ!¤-Ô0Ø×#Ñ# CÔ(÷ $ô 	ˆ]Ôä
�	Š	�%Ô ä�- ×%Ô%¨Ü�IŠI�d×/Ñ/Ó1°2Ô6÷ &Ñ%øô ×+Ñ+ô 	ô �q“6Ð1Ô1Ü—O’OØDÀeôMä—H’H˜Q—K‘Kà�Gûð	ú÷	 $×#ú÷& &×%Ð%úsB   Á!EÁ#&C6Ã&E*Ã6EÄ=EÅEÅEÅEÅEÅE'	Å*E;	c                ób  € \         P                  P                  V4      '       g   R #  \        V4      ;_uu_ 4       p\        P
                  ! V4      pRRR4       XV P                  4       8g  #   + '       g   i     L#; i  \         d#   p\        P                  ! RY4        Rp?R # Rp?ii ; i)TNzcannot read %s: %s)
r%   r*   ÚexistsrG   rH   ÚloadrJ   Ú	Exceptionr:   rC   )r   rL   rO   Úmetar+   s   &&   r   r9   ÚDbCreator._db_update_neededr   s|   € Ü�w‰w�~‰~˜m×,Ò,Ùð	Ü�m×$Ô$¨Ü—y’y “}�÷ %à˜4×4Ñ4Ó6Ñ6Ð6÷ %×$ûô ô 	Ü�OŠOÐ0°-ÔCÝûð	ús.   ©B ¼A.ÁB Á.A>	Á9B ÂB.ÂB)Â)B.c                óô   € / pV P                    Fe  p\        P                  ! V4      pR VP                  RVP                  RVP
                  RVP                  RVP                  RVP                  /W&   Kg  	  V# )Úst_inoÚst_devÚst_uidÚst_gidÚst_sizeÚst_mtime)	r2   r%   ÚstatrY   rZ   r[   r\   r]   r^   )r   rV   ÚpÚsts   &   r   rJ   ÚDbCreator._calc_input_metadata|   sh   € ØˆØ—”ˆAÜ—’˜“ˆBà˜"Ÿ)™)Ø˜"Ÿ)™)Ø˜"Ÿ)™)Ø˜"Ÿ)™)Ø˜2Ÿ:™:Ø˜BŸK™KðˆD‹Gñ ð ˆr   c           	     óÌ  € V P                    FÃ  p\        P                  ! R RV.\        P                  R7      ;_uu_ 4       pRV9   d   V P	                  WVP
                  4       MV P                  WP
                  4       VP                  4       ^ 8w  d2   \        P                  ! VP                  RP                  V4      R7      h RRR4       KÅ  	  \        P                  ! 4       V P                  R,          ,
          V P                  R&   \        P                  ! RV P                  R	,          V P                  R,          3,          4       R#   + '       g   i     EKV  ; i)
z/usr/lib/apt/apt-helperzcat-file)ÚstdoutÚContentsz#/usr/lib/apt/apt-helper cat-file {})Ú
returncodeÚcmdNr1   zprocessed %i packages in %.2fsr0   )r2   Ú
subprocessÚPopenÚPIPEÚ_parse_single_contents_filerd   Ú_parse_single_commands_fileÚwaitÚCalledProcessErrorrf   Úformatr   r   r:   r;   )r   rN   ÚfÚsubs   &&  r   r@   ÚDbCreator._fill_commands‰   s  € Ø—”ˆAÜ×!Ò!Ð#<¸jÈ!Ð"LÔU_×UdÑUd×eÕeÐilØ ”?Ø×4Ñ4°S¸S¿Z¹ZÕHà×4Ñ4°S¿*¹*ÔEØ—8‘8“: ”?Ü$×7Ò7À3Ç>Á>Ø=b×=iÑ=iÐjkÓ=lônð nð #÷ fÑeñ ô $(§9¢9£;°·±¸LÕ1IÕ#Iˆ�
‰
�<Ñ Ü�ŠÐ5Ø�J‰J�wÕ §¡¨LÕ!9ð9;õ ;ö 	<÷ f×eÑeús   ÁBEÅE#c                óH   € VP                  R W#34      P                  4       pV# )z×
            SELECT packages.pkgID, name, version 
            FROM commands 
            INNER JOIN packages on packages.pkgID = commands.pkgID
            WHERE commands.command=? AND packages.name=?;
            ©ÚexecuteÚfetchone)r   rN   ÚcommandÚpkgnameÚalready_in_dbs   &&&& r   Ú_in_dbÚDbCreator._in_db—   s1   € ØŸ™ðð
 Ð#ó%÷ &.¡X£Zð 	ð Ðr   c                óR   € VP                  R V34       VP                  RV34       R# )z"DELETE FROM packages WHERE pkgID=?z"DELETE FROM commands WHERE pkgID=?N©ru   )r   rN   Úpkgids   &&&r   Ú_delete_pkgidÚDbCreator._delete_pkgid    s$   € Ø�‰Ð8¸5¸(ÔDØ�‰Ð8¸5¸(ÖDr   c                ój   € VP                  R V34      P                  4       pV'       d
   V^ ,          # R# )z'SELECT pkgID from packages WHERE name=?Nrt   )r   rN   rx   Úhave_pkgs   &&& r   Ú
_get_pkgidÚDbCreator._get_pkgid£   s2   € Ø—;‘;Ø5¸°zóCßCKÁ8Ã:ð 	çØ˜A•;ÐÙr   c                óB   € VP                  R W#WE34      pVP                  # )zt
            INSERT INTO packages (name, version, component, priority)
            VALUES (?, ?, ?, ?);
            )ru   Ú	lastrowid)r   rN   rx   ÚversionÚ	componentÚpriorityÚcurs   &&&&&& r   Ú_insert_packageÚDbCreator._insert_package©   s+   € Ø�K‰Kð ð  IÐ8ó:ˆð �}‰}Ðr   c                ó,   € VP                  R W#34       R# )zF
        INSERT INTO commands (command, pkgID) VALUES (?, ?);
        Nr}   )r   rN   rw   Úpkg_ids   &&&&r   Ú_insert_commandÚDbCreator._insert_command¯   s   € Ø�‰ð àÐö	 r   c                óX  € \         P                  ! V4      pVP                  4       '       g   R # VP                  R,          pVP	                  R4      '       d   R # VP                  R,          pVP                  R,          pVR8w  d   W`P
                  8w  d   R # VP                  4       '       Ed   V P                  R;;,          ^,          uu&   VP                  R,          pVP                  P                  R4      '       d   VP                  R,          pVP                  P                  R	R
4      p\        4       p	VP                  P                  RR
4      '       d5   \        VP                  P                  RR
4      P                  R4      4      p	VP                  R,          P                  R4       EF	  p
W©9   d   K  \        RV P                  4      ;_uu_ 4        V P                  WV4      pR R R 4       X'       d¡   \         P                  ! W‹^,          4      ^ 8”  d^   \        P                  ! RV
,          4       \        RV P                  4      ;_uu_ 4        V P                  W^ ,          4       R R R 4       M!\        P                  ! RV
: RV: R24       Kí  \        P                  ! RV
: RV: RV: RV: R2	4       \        RV P                  4      ;_uu_ 4        V P!                  W4      pR R R 4       X'       g}   \"        P                  V^ 4      pV\%        VP                  P                  RR4      4      ,          p\        RV P                  4      ;_uu_ 4        V P'                  WW…V4      pR R R 4       \        RV P                  4      ;_uu_ 4        V P)                  WV4       R R R 4       EK  	  EK,  R #   + '       g   i     ELß; i  + '       g   i     ELK; i  + '       g   i     EL ; i  + '       g   i     L�; i  + '       g   i     EKt  ; i)NÚsuitez
-backportsrˆ   ÚarchÚallr0   Únamezvisible-pkgnamer‡   Ú zignore-commandsÚ,ÚcommandsÚsql_already_dbz+replacing exiting %s in DB (higher version)Úsql_delete_already_in_dbú	skipping ú from ú (lower/same version)úadding Ú/ú (Ú)Úsql_have_pkgzpriority-bonusÚ0Úsql_insert_pkgÚsql_insert_cmd)r3   ÚTagFileÚstepÚsectionÚendswithr5   r   ÚgetÚsetÚsplitr	   rz   Úversion_comparer:   Údebugr   rƒ   Úcomponent_prioritiesÚintr‹   r�   )r   rN   rO   Útagfr’   rˆ   r“   rx   r‡   Úignore_commandsrw   ry   rŽ   r‰   s   &&&           r   rl   Ú%DbCreator._parse_single_commands_file³   sí  € Ü�Š˜rÓ"ˆà�y‰y�{Š{Ùà�l‰l˜7Õ#ˆà�>‰>˜,×'Ò'ÙØ—,‘,˜{Õ+ˆ	Ø�\‰\˜&Õ!ˆà�5Œ=˜T×%6Ñ%6Ô6Ùà�i‰i�k‹kØ�J‰J�w× 1Õ$ÓØ—L‘L Õ(ˆGð �|‰|×ÑÐ 1×2Ò2ØŸ,™,Ð'8Õ9�Ø—L‘L×$Ñ$ Y°Ó3ˆGÜ›EˆOØ�|‰|×ÑÐ 1°2×6Ò6Ü # D§L¡L×$4Ñ$4Ð5FÈÓ$K×$QÑ$QÐRUÓ$VÓ W�ØŸ<™<¨
Õ3×9Ñ9¸#×>�ØÔ-ÙäÐ-¨t¯z©z×:Õ:Ø"&§+¡+¨c¸GÓ"D�M÷ ;ç ô ×.Ò.¨wÀaÕ8HÓIÈAÔMÜŸšÐ&SÐV]Õ&]Ô^Ü$Ð%?ÀÇÁ×LÕLØ ×.Ñ.¨sÀ!Õ4DÔE÷ MÐLô  Ÿ›ÓT[Ó]bÐ&cÔdÙ Ü—“Û›W£g«uð6ô 7ô ˜^¨T¯Z©Z×8Õ8Ø!Ÿ_™_¨SÓ:�F÷ 9çÜ3×7Ñ7¸	À1ÓE�HØ¤ D§L¡L×$4Ñ$4Ð5EÀsÓ$KÓ LÕL�HÜ Ð!1°4·:±:×>Õ>Ø!%×!5Ñ!5°cÀGÐX`Ó!a˜÷ ?äÐ-¨t¯z©z×:Õ:Ø×(Ñ(¨°vÔ>÷ ;Ò:ô5 ?ñ ÷  ;×:Ð:ú÷ M×LÐLú÷ 9×8Ð8ú÷
 ?×>úç:×:Ñ:ús<   ÇOÉOË'O0Í)PÎ#PÏOÏO-Ï0PÐPÐP)c                ó   € R pV EFn  pVP                  R4      pVP                  R4      '       gH   VP                  R4      '       g1   VP                  R4      '       g   VP                  R4      '       g   Ks   VP                  R ^4      w  rg\        P
                  P                  T4      pTP                  R4       EF±  p TP                  4       P                  R^4      w  r˜\        T	P                  R4      4      ^8X  d   T	P                  R4      w  r©MR	p
R p\        R
T P                  4      ;_uu_ 4        T P                  YT4      pR R R 4       X'       d#    \        P                   ! RT: RT: R24       KÁ  \        P                   ! RT: RT: RT: RT: R2	4       \        RT P                  4      ;_uu_ 4        T P%                  Y4      pR R R 4       X'       gQ   \&        P)                  T
^ 4      p\        RT P                  4      ;_uu_ 4        T P+                  YYºT4      pR R R 4       \        RT P                  4      ;_uu_ 4        T P-                  YT4       R R R 4       EK´  	  EKq  	  R #   \         d     EK„  i ; i  \         d    TP                  4       pRp	 ELÉi ; i  + '       g   i     ELn; i  + '       g   i     Lø; i  + '       g   i     L³; i  + '       g   i     EK@  ; i)Nzutf-8zusr/sbinzusr/binÚbinÚsbinr—   rŸ   Úunknownr   r™   r›   rœ   r�   rž   r    r¡   r¢   r¤   r¥   )ÚdecodeÚ
startswithr¬   Ú
ValueErrorr%   r*   ÚbasenameÚstripÚrsplitÚlenr	   r   rz   r3   r­   r:   r®   r   rƒ   r¯   rª   r‹   r�   )r   rN   rp   rO   r’   Úlrw   Úpkgnamesrx   r¨   rˆ   r‡   ry   rŽ   r‰   s   &&&&           r   rk   Ú%DbCreator._parse_single_contents_fileì   sC  € àˆäˆAØ—‘˜Ó!ˆAØ—L‘L ×,Ò,°·±¸Y×0GÒ0GØ—L‘L ×'Ò'¨1¯<©<¸×+?Ò+?ÙðØ$%§G¡G¨D°!Ó$4Ñ!�ô —g‘g×&Ñ& wÓ/ˆGà#Ÿ>™>¨#×.�ð(Ø'.§}¡}£×'=Ñ'=¸cÀ1Ó'EÑ$�Gô �w—}‘} SÓ)Ó*¨aÔ/Ø)0¯©°sÓ);Ñ&�I˜wà &�Ið �äÐ-¨t¯z©z×:Õ:Ø"&§+¡+¨c¸GÓ"D�M÷ ;ç ð ô
  Ÿ›ÓT[Ó]bÐ&cÔdÙ Ü—“Û›W£g«uð6ô 7ô ˜^¨T¯Z©Z×8Õ8Ø!Ÿ_™_¨SÓ:�F÷ 9çÜ3×7Ñ7¸	À1ÓE�HÜ Ð!1°4·:±:×>Õ>Ø!%×!5Ñ!5°cÀGÐX`Ó!a˜÷ ?äÐ-¨t¯z©z×:Õ:Ø×(Ñ(¨°vÔ>÷ ;Ò:ôG /ó øô ô Ûðûô "ô (Ø%Ÿm™m›o�GØ'“Gð(ú÷ ;×:Ð:ú÷ 9×8ú÷ ?×>úç:×:Ñ:úsT   Á9I:Ã"JÄ9J1	ÇK	ÈK	ÉK+	É:J
Ê	J
ÊJ.Ê-J.Ê1KËKËK(Ë+K=)r2   r5   r   N)r   r   r   r   r   rP   r9   rJ   r@   rz   r   rƒ   r‹   r�   rl   rk   r    r!   r"   s   @r   r.   r.   Q   sH   ø‡ € ò<ò7ò8	òò<òòEòòò ò7?÷r4?ð 4?r   r.   Ú__main__)Úlevelz%usage: %s <output-db-path> <files...>z. e.g.: %s commands.db ./dists/*/*/*/Commands-*zP e.g.: %s /var/lib/command-not-found/commands.db  /var/lib/apt/lists/*Commands-*:é   NNz: )r(   rH   r:   r%   r<   rh   rD   r   r3   Úinitr¯   r?   r	   r,   r.   r   ÚbasicConfigÚINFOr¾   ÚargvÚprintrE   ÚcolrP   r   Úitemsr_   Úamountr®   © r   r   Ú<module>rÎ      sK  ðó Û Û Û 	Û Û Û 
Û ã Ø ‡‚„ð ˆCØ�ØˆrØ˜Ø�"Ø�Ø�"ðÐ ð€÷:	8ñ 	8ò÷O?ñ O?ðd ˆzÕØ×Ò˜gŸl™lÕ+Ù
ˆ3�8‰8ƒ}�qÔÙÐ5¸¿¹À½ÕCÔDÙÐ>ÀÇÁÈ!ÅÕLÔMÙÐ`Ðbe×bjÑbjÐklÕbmÔnØ�Š�ŒÙ
�C—H‘H˜R•LÓ
!€CØ‡J�Jˆs�x‰x˜�{ÔØŸ	™	Ÿ™Ö)‰ˆˆfØ�Š£$ªÐ/Ö0ó *ñ r   