ó
    ã fiå
  ã                   ót   • S SK Jr  SSKJr   SSKJr  SSKJ	r
Jr   " S S\5      rg	! \ a	    SSKJr   N"f = f)
é   )Ú	Converteré   )Úiterate_filesé    )ÚMutableMapping)ÚwriterÚexcelc                   ó2   • \ rS rSr/ SQrS rS rSS jrSrg)	ÚCsvConverteré   )ÚdataÚ	hostnamesÚipÚip_strÚipv6ÚorgÚispzlocation.country_codezlocation.cityzlocation.country_namezlocation.latitudezlocation.longitudeÚosÚasnÚportÚtagsÚ	timestampÚ	transportÚproductÚversionÚvulnszssl.cipher.versionzssl.cipher.bitszssl.cipher.namezssl.alpnzssl.versionszssl.cert.serialzssl.cert.fingerprint.sha1zssl.cert.fingerprint.sha256ÚhtmlÚtitlec                 óŽ  • [        U R                  [        SS9nUR                  U R                  5        [        U5       Hq  nSU;   a  [        US   R                  5       5      US'    / nU R                   H%  nU R                  XF5      nUR                  U5        M'     UR                  U5        Ms     g ! [         a     Mƒ  f = f)NÚ
)ÚdialectÚlineterminatorr   )Ú
csv_writerÚfoutr	   ÚwriterowÚfieldsr   ÚlistÚkeysÚbanner_fieldÚappendÚ	Exception)ÚselfÚfilesÚ	file_sizer   ÚbannerÚrowÚfieldÚvalues           Ú^/home/gothic/public_html/Scylla/venv/lib/python3.13/site-packages/shodan/cli/converter/csvc.pyÚprocessÚCsvConverter.process5   s°   € Ü˜DŸI™I¬uÀTÑJˆð 	�‰˜Ÿ™Ô$ä# EÖ*ˆFð ˜&Ó Ü"& v¨g¡×';Ñ';Ó'=Ó">��w‘ðØ�Ø!Ÿ[œ[�EØ ×-Ñ-¨fÓ<�EØ—J‘J˜uÖ%ñ )ð —‘ Ö$ò +øô ó Úðús   Á)AB6Â6
CÃCc                 óò   • UR                  S5      n UnU H  nXE   nM	     [        U[        5      (       a+  SR                  U Vs/ s H  n[	        U5      PM     sn5      nU$ s  snf ! [
         a     gf = f)NÚ.Ú,Ú )ÚsplitÚ
isinstancer'   ÚjoinÚstrr+   )r,   r/   Ú
flat_fieldr&   Úcurrent_objr1   Úis          r3   r)   ÚCsvConverter.banner_fieldJ   s�   € à×!Ñ! #Ó&ˆð	Ø ˆKÛ�Ø)Ñ0’ñ  ô ˜+¤t×,Ñ,Ø!Ÿh™h¹Ó'Dº°1¬¨A®¹Ñ'DÓE�àÐùò (Eøô ó 	Øàð	ús#   “3A) ÁA$ÁA) Á$A) Á)
A6Á5A6c           	      ó  • / nUR                  5        Hk  u  pVU(       a  X#-   U-   OUn[        U[        5      (       a/  UR                  U R	                  XgUS9R                  5       5        MY  UR                  Xv45        Mm     [        U5      $ )N)Úsep)Úitemsr;   r   ÚextendÚflattenr*   Údict)r,   ÚdÚ
parent_keyrC   rD   ÚkÚvÚnew_keys           r3   rF   ÚCsvConverter.flatten]   ss   € ØˆØ—G‘G–I‰DˆAÞ.8�jÑ&¨Ò*¸aˆGÜ˜!œ^×,Ñ,Ø—‘˜TŸ\™\¨!¸#˜\Ð>×DÑDÓFÖGà—‘˜g˜\Ö*ñ ô �E‹{Ðó    © N)r9   r7   )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r4   r)   rF   Ú__static_attributes__rO   rN   r3   r   r      s   † ò"€FòHò*÷&rN   r   N)Úbaser   Úhelpersr   Úcollections.abcr   ÚImportErrorÚcollectionsÚcsvr   r#   r	   r   rO   rN   r3   Ú<module>r[      s:   ðå Ý $ð+å.÷
 ,ôV�9õ Vøð ó +ç*ð+ús   Ž( ¨7¶7