§
    l’Þj=K  ã                   óZ  — d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
 dZej                             ed¦  «        Zej                             ed¦  «        ZdZej                             de¦  «         ddlZddlmZmZmZ ddlZ ej         ej        d	¬
¦  «        ¦  «        ZdZdZdZdZ dZ!g d¢Z"h d£Z# ej$        dej%        ¦  «        Z&d„ Z'd„ Z(d„ Z)d&d„Z*d„ Z+d„ Z,d'd„Z-dZ. ej$        dej%        ¦  «        Z/d„ Z0d„ Z1d „ Z2d!„ Z3d(d#„Z4d$„ Z5e6d%k    r e5¦   «          dS dS ))u¹  kunci_car10_okt.py â€” KUNCI carousel feed IG StudioSoft 6-31 Okt 2026 (perintah Bos 3 Okt 2026: "Ok sip kunci").

Yang dikerjakan:
  1. `--render`  : untuk tiap tanggal di MAPPING, tarik teks artikel studiosoft.id (via r.jina.ai, cache di
                   /tmp/art_cache), rakit 10 slide (cover + 8 isi + CTA) dengan ENGINE ss_carousel_lib dan
                   WARNA IKUT POLA HARIAN (L.warna_ke(TANGGAL, nomor_slide)) -> PNG di ss_ig_car10_okt/.
                   Sekaligus tulis caption ke /tmp/cap_<prefix>.txt.
  2. `--pasang`  : JPEG q85 -> openclaw-img/, gate 200 di KEDUA ingress, create album 08:30 WIB +
                   story mirror 08:40 WIB (kanvas_story), lalu verifikasi baca balik. Idempoten per slot.
  3. `--cek`     : cuma laporkan status tiap tanggal (ada/tidak, warna file, caption).

Semua warna ditentukan `ss_carousel_lib.warna_ke` (satu sumber kebenaran): 6 Okt genap -> slide 1 PUTIH,
7 Okt ganjil -> slide 1 NAVY, dst.
é    N)ÚThreadPoolExecutorz//home/mantapman/.hermes/profiles/atun/workspacezopenclaw-imgÚss_ig_car10_oktz/tmp/art_cache)Ú
get_clientÚReplizErrorÚIMG_BASE_URLé   )ÚhoursÚ6a38ac33c5ff4ce3a3231232)é   é+   éc   )éÿ   r   r   é
   z1Seri Industri StudioSoft: SEO & Digital Marketing))z
2026-10-06zkonsultan-pemasaran-digitalÚss_car10_konsultanz#konsultandigital)z
2026-10-07z,tools-ai-untuk-bisnis-pilih-sesuai-kebutuhanÚss_car10_toolsaiz#toolsai)z
2026-10-08z5jasa-branding-surabaya-membangun-identitas-brand-kuatÚss_car10_brandingsbyz#brandingsurabaya)z
2026-10-09z2ai-dan-pekerjaan-digital-marketer-apa-yang-berubahÚss_car10_aimarketerz#aimarketing)z
2026-10-10zjasa-seo-malangÚss_car10_seomalangz
#seomalang)z
2026-10-11z#jasa-maintenance-wordpress-surabayaÚss_car10_maintenancez#maintenancewebsite)z
2026-10-12z.bikin-konten-pakai-ai-boleh-asal-tahu-batasnyaÚss_car10_kontenaiz	#kontenai)z
2026-10-13zdigital-marketing-firma-hukumÚss_car10_firmahukumú#digitalmarketing)z
2026-10-14z-cara-bikin-prompt-ai-yang-bagus-bukan-generikÚss_car10_promptaiz	#promptai)z
2026-10-15zmarketing-maklon-minumanÚss_car10_maklonz#maklonminuman)z
2026-10-16zimplementasi-ai-untuk-umkmÚss_car10_aiumkmz#aiumkm)z
2026-10-17zdigital-marketing-bengkel-mobilÚss_car10_bengkelmobilz#bengkelmobil)z
2026-10-18zjasa-chatbot-whatsapp-bisnisÚss_car10_chatbotwaz#chatbotwhatsapp)z
2026-10-19z5creative-agency-surabaya-solusi-kreatif-brand-berbedaÚss_car10_creativeagencyz#creativeagency)z
2026-10-20zotomasi-bisnis-dengan-aiÚss_car10_otomasiaiz#otomasibisnis)z
2026-10-21z6digital-marketing-agency-surabaya-cara-memilih-partnerÚss_car10_agencypartnerz#digitalagency)z
2026-10-22zkonsultan-ai-surabayaÚss_car10_konsultanaiz#konsultanai)z
2026-10-23zjasa-automasi-marketingÚss_car10_automasimarketingz#automasimarketing)z
2026-10-24zbranding-agency-surabayaÚss_car10_brandingagencyz#brandingagency)z
2026-10-25zjasa-ai-agent-indonesiaÚss_car10_aiagentz#aiagent)z
2026-10-26zretainer-digital-marketingÚss_car10_retainerz	#retainer)z
2026-10-27z(jasa-strategi-branding-campaign-surabayaÚss_car10_brandingcampaignz#brandingcampaign)z
2026-10-28z<kelola-banyak-akun-media-sosial-dengan-ai-personal-assistantÚss_car10_kelolaakunz#kelolasosmed)z
2026-10-29zcara-memilih-jasa-seo-surabayaÚss_car10_pilihseoz#jasaseo)z
2026-10-30z#berapa-biaya-jasa-pembuatan-websiteÚss_car10_biayawebsitez#jasawebsite)z
2026-10-31z3masa-depan-seo-antara-manusia-ai-dan-google-di-2026Úss_car10_seo2026z#seo2026>   ú
baca juga:úhubungi kamiúartikel terbaruúartikel terkaitúulasan pelangganúlayanan studiosoftÚtagsÚarsipÚbagikanÚberandaÚkategoriÚkomentarÚnavigasiÚ	postinganÚ
trustindexÚrekomendasiú	baca jugaú
lihat jugaú
simak jugaz'(pukul \d{1,2}[.:]\d{2})|(20(2[0-5])\b)c                 ó   — t          j        t          d¬¦  «         t           j                             t          | dz   ¦  «        }t           j                             |¦  «        rGt           j                             |¦  «        dk    r$t          |dd¬¦  «                             ¦   «         S d| › d	�}t          d
¦  «        D ]Ž}t          j        dddd|gdd¬¦  «        }|j        dk    rKt          |j        ¦  «        dk    r3t          |dd¬¦  «                             |j        ¦  «         |j        c S t!          j        dd|z  z   ¦  «         Œ�d S )NT©Úexist_okz.mdiÐ  úutf-8Úignore)ÚencodingÚerrorsz(https://r.jina.ai/https://studiosoft.id/ú/é   Úcurlú-sú
--max-timeÚ200©Úcapture_outputÚtextr   Úw©rC   é   )ÚosÚmakedirsÚCACHEÚpathÚjoinÚexistsÚgetsizeÚopenÚreadÚrangeÚ
subprocessÚrunÚ
returncodeÚlenÚstdoutÚwriteÚtimeÚsleep)ÚslugÚpÚurlÚaÚrs        úkunci_car10_okt.pyÚ
ambil_teksri   Q   s7  € Ý„K• Ð%Ñ%Ô%Ð%Ý
Œ�Š•U˜D 5™LÑ)Ô)€AÝ	„w‡~‚~�aÑÔð A�RœWŸ_š_¨QÑ/Ô/°$Ò6Ð6Ý�A °Ð9Ñ9Ô9×>Ò>Ñ@Ô@Ð@Ø
<°TÐ
<Ð
<Ð
<€CÝ�1‰XŒXð ð ˆÝŒN˜F D¨,¸¸sÐCÐTXÐ_cÐdÑdÔdˆØŒ<˜1ÒÐ¥ Q¤X¡¤°Ò!5Ð!5Ý��C 'Ð*Ñ*Ô*×0Ò0°´Ñ:Ô:Ð:Ø”8ˆOˆOˆOÝŒ
�1�q˜1‘u‘9ÑÔÐÐØˆ4ó    c           	      ó’  — g }|                       ¦   «         D �]}|                     ¦   «         }|                     d¦  «        rÚ|                     d¦  «        rÅ|                     d¦  «        dk    r¬d„ |                     d¦  «                             d¦  «        D ¦   «         }t          d„ |D ¦   «         ¦  «        rŒ¦d„ |D ¦   «         }t          |¦  «        dk    rA|                     |d         › d�d	 	                    |d
d…         ¦  «        z   dz   ¦  «         �Œ|                     |¦  «         �Œd 	                    |¦  «        S )zªBaris tabel markdown ("| Aspek | Agency |") diubah jadi kalimat butir yang terbaca.
    Tanpa ini, tabel tercetak mentah di slide (temuan 19 Okt 2026: deck 19/21/29 Okt).ú|rF   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS © )Ústrip©Ú.0Úcs     rh   ú
<listcomp>z"_tabel_ke_teks.<locals>.<listcomp>g   s    € Ð>Ð>Ð> �1—7’7‘9”9Ð>Ð>Ð>rj   c              3   óD   K  — | ]}|¯t          j        d |¦  «        V — ŒdS )z	:?-{2,}:?N)ÚreÚ	fullmatchrp   s     rh   ú	<genexpr>z!_tabel_ke_teks.<locals>.<genexpr>h   s3   è è € ÐCÐC°QÀÐC•2”< ¨aÑ0Ô0ÐCÐCÐCÐCÐCÐCrj   c                 ó   — g | ]}|¯|‘ŒS rn   rn   rp   s     rh   rs   z"_tabel_ke_teks.<locals>.<listcomp>j   s   € Ð'Ð'Ð'˜ QÐ'�1Ð'Ð'Ð'rj   é   r   u    â€” z; é   Nú.ú
)
Ú
splitlinesro   Ú
startswithÚendswithÚcountÚsplitÚallr^   ÚappendrU   )ÚtÚoutÚlnÚsÚsels        rh   Ú_tabel_ke_teksr‰   `   s6  € ð €CØ�lŠl‰nŒnð 
ñ 
ˆØ�HŠH‰JŒJˆØ�<Š<˜ÑÔð 	 §¢¨C¡¤ð 	°Q·W²W¸S±\´\ÀQÒ5FÐ5FØ>Ð> a§g¢g¨c¡l¤l×&8Ò&8¸Ñ&=Ô&=Ð>Ñ>Ô>ˆCÝÐCÐC¸#ÐCÑCÔCÑCÔCð ØØ'Ð'˜cÐ'Ñ'Ô'ˆCÝ�3‰xŒx˜1Š}ˆ}Ø—
’
˜c !œfÐ+Ð+Ð+¨d¯iªi¸¸A¸B¸B¼Ñ.@Ô.@Ñ@À3ÑFÑGÔGÐGÙØ�
Š
�2‰Œˆ‰Ø�9Š9�S‰>Œ>Ðrj   c                 ó  — t          | ¦  «        } t          j        dd| ¦  «        } t          j        dd| ¦  «        } t          j        dd| ¦  «        } |                      dd¦  «                             dd¦  «                             d	d¦  «        } t          j        d
d| ¦  «        } |                      dd¦  «                             dd¦  «                             dd¦  «        } t          j        dd| ¦  «        } |                      ¦   «         S )Nz(?m)^\s*#{1,6}\s*Ú z!\[[^\]]*\]\([^)]*\)ú z\[([^\]]+)\]\([^)]*\)z\1z**Ú*ú`z
\[[^\]]*\]z&nbsp;z&amp;ú&z&#8217;ú'z\s+)r‰   ru   ÚsubÚreplacero   )r„   s    rh   Úbersihr“   r   så   € Ý�qÑÔ€AÝ
ŒÐ# R¨Ñ+Ô+€AÝ
ŒÐ&¨¨QÑ/Ô/€AÝ
ŒÐ'¨°Ñ2Ô2€AØ	�	Š	�$˜ÑÔ×#Ò# C¨Ñ,Ô,×4Ò4°S¸"Ñ=Ô=€AÝ
Œˆ}˜c 1Ñ%Ô%€AØ	�	Š	�(˜CÑ Ô ×(Ò(¨°#Ñ6Ô6×>Ò>¸yÈ#ÑNÔN€AÝ
Œˆv�s˜AÑÔ€AØ�7Š7‰9Œ9Ðrj   éÒ   c                 ó  — g }t          j        d| ¦  «        D ]t}t          |¦  «        }t          |¦  «        dk     rŒ%t          |¦  «        |k    r'|d |…                              dd¦  «        d         dz   }|                     |¦  «         Œu|S )Nz(?<=[.!?])\s+é   rŒ   rz   r   r{   )ru   r�   r“   r^   Úrsplitrƒ   )ÚparagrafÚmaksr…   r‡   s       rh   Úkalimatrš   ~   sŠ   € Ø
€CÝŒXÐ&¨Ñ1Ô1ð ð ˆÝ�1‰IŒIˆÝˆq‰6Œ6�BŠ;ˆ;ØÝˆq‰6Œ6�DŠ=ˆ=Ø�%�4�%”—’  QÑ'Ô'¨Ô*¨SÑ0ˆAØ�
Š
�1‰ŒˆˆØ€Jrj   c                 ó"   — d„ | D ¦   «         }|p| S )a#  Buang kalimat boilerplate/navigasi situs (mis. 'Skip to content Beranda Tentang ...').

    Bug 26 Okt 2026: intro artikel yang dibuka blok menu membuat `lead` slide cover
    tercetak sebagai sampah navigasi (deck retainer). JUNK dulu hanya dipakai di
    buat_caption, tidak di cover.
    c                 óˆ   ‡— g | ]>Št          ˆfd „t          D ¦   «         ¦  «        °"t                               ‰¦  «        °<‰‘Œ?S )c              3   óD   •K  — | ]}|‰                      ¦   «         v V — Œd S ©N)Úlower)rq   ÚjÚks     €rh   rw   z(tanpa_junk.<locals>.<listcomp>.<genexpr>’   s/   øè è € Ð3Ð3¨�a˜1Ÿ7š7™9œ9�nÐ3Ð3Ð3Ð3Ð3Ð3rj   )ÚanyÚJUNKÚJUNK_REÚsearch©rq   r¡   s    @rh   rs   ztanpa_junk.<locals>.<listcomp>‘   sf   ø€ ð Oð Oð O�ÝÐ3Ð3Ð3Ð3­dÐ3Ñ3Ô3Ñ3Ô3ðOÝ<C¿NºNÈ1Ñ<MÔ<MðOˆ1ð Oð Oð Orj   rn   )Úkalimat_listr…   s     rh   Ú
tanpa_junkr¨   Š   s/   € ðOð O�lð Oñ Oô O€CàÐ�,Ðrj   c           
      óŒ  — t          | ¦  «        }|sd S t          j        d|t          j        ¦  «        }|r"t	          |                     d¦  «        ¦  «        n|                      dd¦  «        }|                     dd¦  «        d         }t          j        d|t          j        ¬¦  «        }t	          |d	         ¦  «        }g }|dd …         D ]ó}|                     ¦   «         }	|	sŒt	          |	d	         ¦  «        }
t	          t          d
 
                    |	dd …         ¦  «        ¦  «        ¦  «        }|
                     ¦   «         t          v st          |¦  «        dk     rŒ”t                               |¦  «        rŒ¯t          |
¦  «        dk    s|
                     d¦  «        dk    rŒÜ|                     |
|f¦  «         Œô|||dœS )Nz^Title:\s*(.+)$rz   ú-rŒ   zMarkdown Content:éÿÿÿÿz^##\s+)Úflagsr   r|   éZ   éF   rl   )ÚjudulÚintroÚseksi)ri   ru   r¥   ÚMr“   Úgroupr’   r�   r}   r‰   rU   rŸ   ÚBUANGr^   ÚBASINGr€   rƒ   )rc   ÚrawÚmr¯   ÚbodyÚblokr°   r±   ÚbÚlinesÚheadÚisis               rh   Úparse_artikelr¾   –   s™  € Ý
�TÑ
Ô
€CØð ØˆtÝ
Œ	Ð$ c­2¬4Ñ0Ô0€AØ"#Ð?�F�1—7’7˜1‘:”:ÑÔÐ¨¯ª°c¸3Ñ)?Ô)?€EØ�9Š9Ð(¨!Ñ,Ô,¨RÔ0€DÝŒ8�I˜t­2¬4Ð0Ñ0Ô0€DÝ�4˜”7‰OŒO€EØ€EØ�!�"�"ŒXð "ð "ˆØ—’‘”ˆØð 	ØÝ�e˜A”hÑÔˆÝ•^ D§I¢I¨e°A°B°B¬iÑ$8Ô$8Ñ9Ô9Ñ:Ô:ˆØ�:Š:‰<Œ<�5Ð Ð ¥C¨¡H¤H¨r¢M MØÝ�=Š=˜ÑÔð 	ØÝˆt‰9Œ9�rŠ>ˆ>˜TŸZšZ¨™_œ_¨qÒ0Ð0ØØ�Š�d˜C�[Ñ!Ô!Ð!Ð!Ø U°UÐ;Ð;Ð;rj   é   c                 ól  — |                       ¦   «                              ¦   «         }g g }}|D ]T}|                     |¦  «         t          |¦  «        |k    r*|                     d                     |¦  «        ¦  «         g }ŒU|r(|                     d                     |¦  «        ¦  «         |d d…         S )NrŒ   r¿   )Úupperr�   rƒ   r^   rU   )r„   Ú	maks_kataÚkatar…   ÚcurrN   s         rh   Úbaris_judulrÅ   °   s¤   € Ø�7Š7‰9Œ9�?Š?ÑÔ€DØ�2ˆ€CØð ð ˆØ�
Š
�1‰ŒˆÝˆs‰8Œ8�yÒ Ð Ø�JŠJ�s—x’x ‘}”}Ñ%Ô%Ð%ØˆCøØ
ð "Ø�
Š
�3—8’8˜C‘=”=Ñ!Ô!Ð!Øˆr�ˆrŒ7€Nrj   )zskip to contentr4   Úwhatsappzartikel digitalÚhubungiztentang layananzjasa seo professionalzsocial media web developmentÚcookieÚberlanggananr;   zbaca:r<   r=   zˆ(\(\d{1,2}/\d{1,2}/\d{4}\))|(\b\d{1,2} (januari|februari|maret|april|mei|juni|juli|agustus|september|oktober|november|desember) \d{4}\b)c                 ó"  ‡— g }t          | d         ¦  «        D ]}|                     |¦  «         Œ| d         D ]4\  }}t          |¦  «        dd…         D ]}|                     |¦  «         ŒŒ5g }|D ]}}|                     ¦   «         Št          |¦  «        dk     s:t	          ˆfd„t
          D ¦   «         ¦  «        st                               |¦  «        rŒd||vr|                     |¦  «         Œ~d|› d�}|d	d
g}	t          j        d| d         ¦  «        r|	 	                    dd¦  «         |	                     d¦  «         d}
t          |¦  «        dk    r9|d         › d|d         › d|d         › d|› d|
› dd 
                    |	¦  «        › �}nG|r'|d         › d|› d|
› dd 
                    |	¦  «        › �}nd|› d|
› dd 
                    |	¦  «        › �}t          |¦  «        dk    r&|d         › d|› d|
› dd 
                    |	¦  «        › �}|S )z^Caption 2-3 paragraf dari isi artikel: buang kalimat navigasi/boilerplate, pilih kalimat utuh.r°   r±   Nry   é7   c              3   ó    •K  — | ]}|‰v V — Œ	d S rž   rn   )rq   r    Úlows     €rh   rw   zbuat_caption.<locals>.<genexpr>Ï   s'   øè è € Ð5Ð5¨1˜a 3˜hÐ5Ð5Ð5Ð5Ð5Ð5rj   zhttps://studiosoft.id/rE   r   z#seoz\bAI\br¯   rz   z#aiz#studiosoftzSMenurut Anda, bagian mana yang paling relevan untuk bisnis Anda? Tulis di komentar.rF   r   z

r|   z

Selengkapnya di rŒ   z0Panduan lengkapnya ada di artikel terbaru kami: iÜ  )rš   rƒ   rŸ   r^   r¢   r£   r¤   r¥   ru   ÚinsertrU   )Úartrc   ÚtagÚkandidatr‡   Úhr½   Úbersih_ÚlinkÚhsÚctaÚcaprÍ   s               @rh   Úbuat_captionrØ   Ä   sz  ø€ à€HÝ�S˜”\Ñ"Ô"ð ð ˆØ�Š˜ÑÔÐÐØ�g”,ð ð ‰ˆˆ3Ý˜‘”˜b˜q˜bÔ!ð 	ð 	ˆAØ�OŠO˜AÑÔÐÐð	à€GØð ð ˆØ�gŠg‰iŒiˆÝˆq‰6Œ6�BŠ;ˆ;�#Ð5Ð5Ð5Ð5µÐ5Ñ5Ô5Ñ5Ô5ˆ;½¿ºÈÑ9JÔ9Jˆ;ØØ�GÐÐØ�NŠN˜1ÑÔÐøà+ DÐ+Ð+Ð+€DØ
Ð" FÐ	+€BÝ	„y�˜C œLÑ)Ô)ð Ø
�	Š	�!�UÑÔÐØ‡I‚IˆmÑÔÐØ
_€Cå
ˆ7�|„|�qÒÐØ˜”ÐpÐp ¨¤ÐpÐp¨w°q¬zÐpÐpÈtÐpÐpÐY\ÐpÐpÐbe×bjÒbjÐkmÑbnÔbnÐpÐpˆˆØ	ð eØ˜”ÐRÐR°ÐRÐR¸3ÐRÐRÀCÇHÂHÈRÁLÄLÐRÐRˆˆàcÀ$ÐcÐcÈCÐcÐcÐUX×U]ÒU]Ð^`ÑUaÔUaÐcÐcˆÝ
ˆ3�x„x�$‚€Ø˜”ÐRÐR°ÐRÐR¸3ÐRÐRÀCÇHÂHÈRÁLÄLÐRÐRˆØ€Jrj   c                 ó  — t          j        || ¦  «        dk    r:t          j        | t          |t          t
          t
          ¬¦  «        t           j        fS t          j        | t          |t
          t          ¬¦  «        t           j        fS )NÚputih)ÚbgÚfgÚ	dot_color)rÛ   rÜ   )ÚLÚwarna_keÚSlideÚTOTALÚWHITEÚNAVYÚAKSEN_PUTIHÚSKY)ÚnumrÐ   Útgls      rh   Úmkrè   æ   s_   € Ý„z�#�sÑÔ˜wÒ&Ð&ÝŒw�s�E 3­5µTÅTÐJÑJÔJÍAÌMÐYÐYÝŒ7�3�˜s¥tµÐ6Ñ6Ô6½¼Ð=Ð=rj   c           	      ó,	  ‡‡— | \  }}}}t           j                             |¦  «        }t          |¦  «        }|sdS t	          t          |d         ¦  «        ¦  «        }|d         }t          |¦  «        dk     st          |¦  «        dk     rd dt          |¦  «        › d�fS d„ |D ¦   «         }	t          |	¦  «        d	k    rdnd
Šˆfd„|	D ¦   «         Šd„ ‰D ¦   «         }
t          |
¦  «        dk     rèi t          t          t          ‰¦  «        ¦  «        ˆfd„¬¦  «        }}|D ]_}t          |
¦  «        t          |¦  «        z   dk    r n9t          ‰|         d         ¦  «        dk    r‰|         d         d ‰…         ||<   Œ`g }
t          ‰¦  «        D ]D\  }\  }}}|
 
                    ||f¦  «         ||v r |
 
                    |dz   ||         f¦  «         ŒE|
d d…         }t          j        t          d¬¦  «         g }t          d||¦  «        \  }}|                     t!          |d         ¦  «        d         |fgt!          |d         ¦  «        dd …         z   d¬¦  «         |                     |d         d¬¦  «         t          |¦  «        dk    r|                     |d         d¬¦  «         | 
                    |                     |› d�t          d¬¦  «        ¦  «         t          |d¬¦  «        D ]¤\  }\  }}t          |||¦  «        \  }}|                     t!          |d¬¦  «        d ¬¦  «         |                     d!„ |d d
…         D ¦   «         d d"d#¬$¦  «         | 
                    |                     |› d%|d&›d'�t          d¬¦  «        ¦  «         Œ¥t          d(||¦  «        \  }}|                     d)|fd*gd ¬¦  «         |                     g d+¢d dd¬$¦  «         |                     d,d"|¬-¦  «         | 
                    |                     |› d.�t          d¬¦  «        ¦  «         t+          |||¦  «        }t-          d/|› d0�d1d2¬3¦  «                             |¦  «         |||||d         t          |¦  «        t          |¦  «        d4œd5fS )6N)Nzteks artikel gagal diambilr°   r±   r¿   rz   z$struktur artikel tidak cukup (seksi=ú)c                 ó6   — g | ]\  }}|t          |¦  «        f‘ŒS rn   )rš   )rq   rÒ   Úis      rh   rs   zrakit.<locals>.<listcomp>ù   s&   € Ð3Ð3Ð3¡T Q¨�!•W˜Q‘Z”Z�Ð3Ð3Ð3rj   é   rF   c                 ó@   •— g | ]\  }}||d ‰…         |‰d …         f‘ŒS rž   rn   )rq   rÒ   ÚksÚn_butirs      €rh   rs   zrakit.<locals>.<listcomp>û   s4   ø€ ÐCÐCÐC±°°2ˆQ��8�G�8”˜b   œlÐ+ÐCÐCÐCrj   c                 ó   — g | ]
\  }}}||f‘ŒS rn   rn   )rq   rÒ   rï   Ú_s       rh   rs   zrakit.<locals>.<listcomp>ü   s"   € Ð*Ð*Ð*™˜˜B ˆa�ˆWÐ*Ð*Ð*rj   é   c                 ó<   •— t          ‰|          d         ¦  «         S )Nry   )r^   )rì   Úunits    €rh   ú<lambda>zrakit.<locals>.<lambda>þ   s   ø€ ÍÈDÐQRÌGÐTUÌJÉÌÐGW€ rj   )Úkeyry   z (lanjutan)Tr?   r¯   r   é(   )Úafteré   é   )Úsizez_01.png)Úquiet)ÚstartrP   )rÂ   é    c                 ó   — g | ]}|d f‘ŒS )r‹   rn   r¦   s     rh   rs   zrakit.<locals>.<listcomp>  s   € Ð+Ð+Ð+˜q�A�r�7Ð+Ð+Ð+rj   é   é   )Ú	name_sizeÚ	desc_sizeÚgaprò   Ú02dú.pngr   ÚLANGKAHÚ
BERIKUTNYA))zLihat panduannyaz&penjelasan lengkap ada di artikel ini.)zCek kondisi bisnis Andaz/mulai dari satu masalah yang paling mengganggu.)zButuh dibantuz+tim StudioSoft bisa memetakan prioritasnya.z,www.studiosoft.id atau kirim pesan lewat DM.)rü   Úcolorz_10.pngú	/tmp/cap_ú.txtrN   rA   rO   )rç   rc   ÚprefixrÐ   r¯   ÚfilesÚcaptionr‹   )ÚdatetimeÚdateÚfromisoformatr¾   r¨   rš   r^   ÚsortedrZ   Ú	enumeraterƒ   rQ   rR   ÚOUTrè   ÚtitlerÅ   ÚleadÚparaÚrenderÚbulletsrØ   rX   r`   )ÚentriÚtgl_src   r  rÐ   rç   rÏ   Úintro_kr±   Ú	isi_seksiÚpilihÚtambahÚ	urut_sisarì   rÒ   rï   ÚsisaÚ
isi_slidesr  r‡   Úacr¼   r×   rð   rõ   s                          @@rh   Úrakitr%  ì   sê  øø€ Ø$Ñ€Eˆ4�˜Ý
Œ-×
%Ò
% eÑ
,Ô
,€CÝ
˜Ñ
Ô
€CØð 2Ø1Ð1Ý�  W¤Ñ.Ô.Ñ/Ô/€GØ�ŒL€EÝ
ˆ5�z„z�A‚~€~�˜W™œ¨Ò)Ð)ØÐI½CÀ¹J¼JÐIÐIÐIÐIÐIð 4Ð3¨UÐ3Ñ3Ô3€IÝ�y‘>”> QÒ&Ð&ˆaˆa¨A€GØCÐCÐCÐC¸ÐCÑCÔC€DØ*Ð* TÐ*Ñ*Ô*€EÝ
ˆ5�z„z�A‚~€~Ø¥¥u­S°©Y¬YÑ'7Ô'7Ð=WÐ=WÐ=WÐ=WÐ XÑ XÔ X�	ˆØð 	1ð 	1ˆAÝ�5‰zŒz�C ™KœKÑ'¨1Ò,Ð,Ø�Ý�4˜”7˜1”:‰Œ !Ò#Ð#Ø  œG AœJ x¨ xÔ0��q‘	øØˆÝ )¨$¡¤ð 	=ð 	=ÑˆA‰}��2�tØ�LŠL˜!˜R˜Ñ!Ô!Ð!Ø�Fˆ{ˆ{Ø—’˜a -Ñ/°¸´Ð;Ñ<Ô<Ð<øØ�r˜�r”€Jå„K•˜dÐ#Ñ#Ô#Ð#Ø€Eåˆq�#�s‰OŒO�E€A€rØ‡G‚G�k˜#˜gœ,Ñ'Ô'¨Ô*¨BÐ/Ð0µ;¸sÀ7¼|Ñ3LÔ3LÈQÈRÈRÔ3PÑPÐXZ€GÑ[Ô[Ð[Ø‡F‚Fˆ7�1Œ:˜R€FÑ Ô Ð Ý
ˆ7�|„|�aÒÐØ	�Šˆw�qŒz ˆÑ#Ô#Ð#Ø	‡L‚L�—’˜VÐ,Ð,Ð,­c¸�Ñ>Ô>Ñ?Ô?Ð?å" :°QÐ7Ñ7Ô7ð Ið I‰ˆ‰:ˆD�"Ý�1�c˜3‘”‰ˆˆ2Ø	�Š•˜D¨AÐ.Ñ.Ô.°bˆÑ9Ô9Ð9Ø	�	Š	Ð+Ð+ B r¨ r¤FÐ+Ñ+Ô+°rÀRÈRˆ	ÑPÔPÐPØ�Š�Q—X’X Ð5Ð5¨!Ð5Ð5Ð5Ð5µsÀ$�XÑGÔGÑHÔHÐHÐHåˆr�3˜ÑÔ�E€A€rØ‡G‚Gˆi˜ˆ_˜lÐ+°2€GÑ6Ô6Ð6Ø‡I‚Ið ð ð ð ˜r rð	 ñ +ô +ð +ð
 ‡F‚FÐ9ÀÈ"€FÑMÔMÐMØ	‡L‚L�—’˜VÐ,Ð,Ð,­c¸�Ñ>Ô>Ñ?Ô?Ð?õ �s˜D #Ñ
&Ô
&€CÝÐ	!�VÐ	!Ð	!Ð	! 3°Ð9Ñ9Ô9×?Ò?ÀÑDÔDÐDØ $°&ÀØ˜”\­C°©J¬JÅ3ÀsÁ8Ä8ðMð MØNPðQð Qrj   c                 óî   — t           j        D ]g}t          j        ddddddddd	t           j        › d
|› �dt           j        › d| › �gdd¬¦  «        j                             ¦   «         }|dk    r| ||fc S Œhd S )NrG   rH   z-oz	/dev/nullz-wz%{http_code}rI   Ú30z	--resolvez:443:zhttps://ú/openclaw-img/TrK   rJ   )ÚPGÚINGRESSr[   r\   ÚHOSTr_   ro   )ÚnamaÚipÚcodes      rh   Úgater/  -  sª   € ÝŒjð "ð "ˆÝŒ~˜v t¨T°;ÀÀnÐVbÐdhØ*­r¬wÐ,AÐ,A¸RÐ,AÐ,AØG­"¬'ÐGÐGÀÐGÐGðIð .2¸ð>ñ >ô >ô ?EÇUÂUÁWÄWð 	ð �5Š=ˆ=Ø˜˜T�>Ð!Ð!Ð!ð àˆ4rj   Fc                 ó<  ‡— ddl m} | \  }}Š}t          j                             |¦  «        }t
          }t          dd¦  «        D ]µ}	|                     t          j	         
                    |‰› d|	d›d�¦  «        ¦  «                             d¦  «        }
|
j        d	k    sJ ‰› d|	d›d
|
j        › �¦   «         ‚|
                     t          j	         
                    t          ‰› d|	d›d�¦  «        ddd¬¦  «         Œ¶t          d¬¦  «        5 }t!          |                     t$          ˆfd„t          dd¦  «        D ¦   «         ¦  «        ¦  «        }d d d ¦  «         n# 1 swxY w Y   d„ |D ¦   «         }|rd|d d…         › �S |sdS |› d�}|› d�}t          d‰› d�d¬¦  «                             ¦   «                              ¦   «         }|�|d d…         |v rdS t+          ¦   «         }t,          d|› �t.          d |ˆfd!„t          dd¦  «        D ¦   «         |g d"did#œ	}|                     d$|¦  «        }|                     d%¦  «        p)|                     d&¦  «        p|                     d'¦  «        }t5          j        ‰› d(�¦  «        }t%          |¦  «        }|rd)|› �S t,          d*‰› �t.          d+d,t8          › d-|› �d.d/d0œg|g d1œ}|                     d$|¦  «        }|                     d%¦  «        p)|                     d&¦  «        p|                     d'¦  «        }|                     d2|› �¦  «        }|                     d3¦  «        p|}|                     d2|› �¦  «        }|                     d3¦  «        p|}d4|d5d …         › d
|                     d6¦  «        › d
|                     d7¦  «        › d8t;          |                     d9¦  «        pg ¦  «        › d:|d5d …         › d
|                     d6¦  «        › d
|                     d7¦  «        › d;t;          |¦  «        › d<|› �S )=Nr   )ÚImagerz   é   rò   r  r  ÚRGB)i8  iF  rŒ   ú.jpgÚJPEGéU   T)ÚqualityÚoptimizeró   )Úmax_workersc                 ó"   •— g | ]}‰› d |d›d�‘ŒS )rò   r  r4  rn   ©rq   rì   r  s     €rh   rs   zpasang.<locals>.<listcomp>C  s-   ø€ Ð"QÐ"QÐ"Q¸q fÐ#:Ð#:¨qÐ#:Ð#:Ð#:Ð#:Ð"QÐ"QÐ"Qrj   c                 ó   — g | ]}|¯|‘ŒS rn   rn   )rq   rÒ   s     rh   rs   zpasang.<locals>.<listcomp>D  s   € Ð#Ð#Ð#�1 Ð#ˆQÐ#Ð#Ð#rj   zGATE GAGAL rF   z
siap (dry)zT01:30:00.000ZzT01:40:00.000Zr  r  rA   rO   é   u#   â�­ï¸� SKIP slot 08:30 sudah terisiu   Carousel IG SS â€” Úalbumc                 ó@   •— g | ]}t           › d ‰› d|d›d�dd|› �dœ‘ŒS )r(  rò   r  r4  ÚimagezSlide ©re   ÚtypeÚalt)r   r;  s     €rh   rs   zpasang.<locals>.<listcomp>T  sa   ø€ ð Eð Eð EØ23õ $0Ð SÐ S¸vÐ SÐ SÈÐ SÐ SÐ SÐ SÐ]dØ ,¨  ð.ð .ð Eð Eð Erj   ÚisShareToFeed)	Ú	accountIdr  ÚtopicrB  ÚdescriptionÚmediasÚ
scheduleAtÚrepliesÚadditionalInfoz/public/scheduleÚ
scheduleIdÚ_idÚidz_01.jpgzGATE STORY GAGAL zStory IG SS mirror Ústoryr‹   r(  r@  zSlide 1rA  )rE  r  rF  rB  rG  rH  rI  rJ  z/public/schedule/Údatau
   âœ… album iúÿÿÿÚstatusrI  z media=rH  z	 | story z | caption z char | file )ÚPILr1  r  r  r  r  rZ   rX   rQ   rT   rU   Úconvertrü   ÚsaveÚIMGr   ÚlistÚmapr/  rY   ro   r   ÚACCÚTOPIKÚpostÚgetr)  Úkanvas_storyr   r^   )r  ÚgoÚoccr1  r  rc   rÐ   rç   Úfolderrì   ÚimÚexÚhasilÚgagalÚatÚstory_atr×   rr   r>  Úr1Úsid1Ú
nama_storyÚokÚstoriÚr2Úsid2Úd1Úd2r  s                               @rh   Úpasangro  8  s%  ø€ ØÐÐÐÐÐØ$Ñ€Eˆ4�˜Ý
Œ-×
%Ò
% eÑ
,Ô
,€CÝ€FÝ�1�b‰\Œ\ð _ð _ˆØ�ZŠZ�œŸš V°Ð-DÐ-D¸Ð-DÐ-DÐ-DÐ-DÑEÔEÑFÔF×NÒNÈuÑUÔUˆØŒw˜,Ò&Ð&Ð&¨6Ð(EÐ(E°AÐ(EÐ(EÐ(E¸B¼GÐ(EÐ(EÑ&Ô&Ð&Ø
�Š•”—’�S VÐ"9Ð"9¨aÐ"9Ð"9Ð"9Ð"9Ñ:Ô:¸FÈBÐY]ˆÑ^Ô^Ð^Ð^å	¨Ð	*Ñ	*Ô	*ð T¨bÝ�R—V’V�DÐ"QÐ"QÐ"QÐ"QÅEÈ!ÈRÁLÄLÐ"QÑ"QÔ"QÑRÔRÑSÔSˆðTð Tð Tñ Tô Tð Tð Tð Tð Tð Tð Tøøøð Tð Tð Tð Tà#Ð#˜Ð#Ñ#Ô#€EØð )Ø(˜U 2 A 2œYÐ(Ð(Ð(Øð Øˆ|àÐ	!Ð	!Ð	!€BØÐ'Ð'Ð'€HÝ
Ð'˜6Ð'Ð'Ð'°'Ð
:Ñ
:Ô
:×
?Ò
?Ñ
AÔ
A×
GÒ
GÑ
IÔ
I€Cà
€˜2˜c˜r˜cœ7 c˜>˜>Ø4Ð4Ý‰Œ€AåÐ(D¸dÐ(DÐ(DÍuÐ^eØðEð Eð Eð EÝ7<¸QÀ±|´|ðEñ Eô Eà¨"ÀÐRVÐ@Wð	Yð Y€Eð
 
�ŠÐ" EÑ	*Ô	*€BØ�6Š6�,ÑÔÐ@ 2§6¢6¨%¡=¤=Ð@°B·F²F¸4±L´L€DÝ” FÐ!3Ð!3Ð!3Ñ4Ô4€JÝ	ˆjÑ	Ô	€BØ	ð (Ø' 2Ð'Ð'Ð'ÝÐ(F¸fÐ(FÐ(FÕQVÐ`gØµlÐ3^Ð3^ÐR\Ð3^Ð3^Ø4;ÀIð,Oð ,Oð +Pà#°ð4ð 4€Eð 
�ŠÐ" EÑ	*Ô	*€BØ�6Š6�,ÑÔÐ@ 2§6¢6¨%¡=¤=Ð@°B·F²F¸4±L´L€DØ	
�ŠÐ) 4Ð)Ð)Ñ	*Ô	*€B°·²¸±´Ð1EÀ2¨BØ	
�ŠÐ) 4Ð)Ð)Ñ	*Ô	*€B°·²¸±´Ð1EÀ2¨Bð=˜˜b˜c˜cœð =ð = R§V¢V¨HÑ%5Ô%5ð =ð =¸¿º¸|Ñ8LÔ8Lð =ð =ÕUXÐY[×Y_ÒY_Ð`hÑYiÔYiÐYoÐmoÑUpÔUpð =ð =Ø˜B˜C˜C”yð=ð =Ø#%§6¢6¨(Ñ#3Ô#3ð=ð =Ø68·f²f¸\Ñ6JÔ6Jð=ð =å˜S™œð=ð =à0:ð=ð =ð >s   ÄAEÅEÅ!Ec                  ó"  ‡— t          j        ¦   «         } |                      dd¬¦  «         |                      ddd¬¦  «         |                      dd¬¦  «         |                      dd¬¦  «         |                      d	d ¬
¦  «         |                      dd ¬
¦  «         |                      ¦   «         Šˆfd„t          D ¦   «         }‰j        r´|D ]±\  }}}}t          |¦  «        }|st          |› d|d›d�¦  «         Œ/t          |||¦  «        }t          d|› d�dd¬¦  «         
                    |¦  «         t          |› d|d›dt          |¦  «        › d|                     ¦   «         d         d d…         › �¦  «         Œ²‰j        rf|D ]c}t          |¦  «        \  }	}
t          |d         › d|d         d›d�|	r%d|	d         › d|	d         › d|	d         d d …         › �nd!|
› �z   ¦  «         Œd‰j        �rt!          ¦   «         }	 t#          ¦   «         }d"}|dk    r¯|                     |d#¬$¦  «        }|                     d%¦  «        pg }|D ]_}|                     d&¦  «        t(          k    r?|                     t-          |                     d'¦  «        pd(¦  «        d d)…         ¦  «         Œ`t          |¦  «        d#k     rn|d"z  }|dk    °¯t          d*t          |¦  «        › d+�¦  «         n'# t.          $ r}t          d,|¦  «         Y d }~nd }~ww xY w|D ]ù}	 t          |‰j        |¬-¦  «        }|                     d.¦  «        r|                     |d         › d/�¦  «         t          |d         › d|d         d›d|› �¦  «         Œr# t4          $ r.}t          |d         › d|d         d›d0|› �¦  «         Y d }~Œ¥d }~wt.          $ rC}t          |d         › d|d         d›d1t7          |¦  «        j        › d2|› �¦  «         Y d }~Œðd }~ww xY wd S d S )3Nz--renderÚ
store_true)Úactionz--caption-sajazPcuma tulis ulang caption /tmp/cap_<prefix>.txt dari artikel (tanpa render slide))rr  Úhelpz--pasangz--goz--mulai)Údefaultz--sampaic                 ót   •— g | ]4}‰j         r|d          ‰j         k    ¯‰j        r|d          ‰j        k    ¯2|‘Œ5S )r   )ÚmulaiÚsampai)rq   Úerf   s     €rh   rs   zmain.<locals>.<listcomp>u  sW   ø€ ð ^ð ^ð ^˜Øœ'ð^Ø%& q¤T¨Q¬W¢_ _¸q¼x _È1ÈQÌ4ÐSTÔS[ÒK[ÐK[ð ØK[ÐK[ÐK[rj   rŒ   Ú26su    â›” artikel gagal dibacar  r  rN   rA   rO   z	 caption z char | baris1: r   éP   ry   z
ok render r  u   /10 Â· caption r  u	    char Â· r¯   é4   u   â›” rz   éd   )ÚpageÚlimitÚdocsrE  rI  r‹   r=  zslot terisi akun IG SS: z (termasuk jam lain)u   âš ï¸� gagal baca slot terisi:)r]  r^  u   âœ…zT01:30u    â›” ReplizError: u    â›” z: )ÚargparseÚArgumentParserÚadd_argumentÚ
parse_argsÚMAPPINGÚcaption_sajar¾   ÚprintrØ   rX   r`   r^   r}   r  r%  ro  Úsetr   Úget_schedulesr[  rX  ÚaddÚstrÚ	Exceptionr]  r~   r   rB  Ú__name__)ÚapÚ
entri_listr  rc   r  rÐ   rÏ   r×   rx  ÚinfoÚerrr^  Úc0r}  rg   r  Údra  rb  rf   s                      @rh   Úmainr“  j  sV  ø€ Ý	Ô	 Ñ	"Ô	"€BØ‡O‚O�J |€OÑ4Ô4Ð4Ø‡O‚OÐ$¨\Økð ñ mô mð mà‡O‚O�J |€OÑ4Ô4Ð4Ø‡O‚O�F <€OÑ0Ô0Ð0Ø‡O‚O�I t€OÑ,Ô,Ð,Ø‡O‚O�J¨€OÑ-Ô-Ð-Ø
�Š‰Œ€Að^ð ^ð ^ð ^�Wð ^ñ ^ô ^€Jà„~ð hØ(2ð 	hð 	hÑ$ˆE�4˜ Ý Ñ%Ô%ˆCØð Ý˜ÐFÐF ÐFÐFÐFÐFÑGÔGÐGØÝ˜s D¨#Ñ.Ô.ˆCÝÐ)˜VÐ)Ð)Ð)¨3¸ÐAÑAÔA×GÒGÈÑLÔLÐLÝ�UÐfÐf˜VÐfÐfÐfµ#°c±(´(ÐfÐfÈCÏNÊNÑL\ÔL\Ð]^ÔL_Ð`cÐacÐ`cÔLdÐfÐfÑgÔgÐgÐgØ„xð _Øð 	_ð 	_ˆAÝ˜a™œ‰IˆD�#Ý�Q�q”TÐ'Ð'˜A˜aœDÐ'Ð'Ð'Ð'ØFJð,]ð ,C¸¸W¼ð ,Cð ,CÐVZÐ[dÔVeð ,Cð ,CØ.2°7¬m¸C¸R¸CÔ.@ð,Cð ,Cð ,CØP\ÐWZÐP\ÐP\ñ^ñ _ô _ð _ð _à„xñ JÝ‰eŒeˆð	8Ý‘”ˆBØˆDØ˜"’*�*Ø×$Ò$¨$°cÐ$Ñ:Ô:�Ø—u’u˜V‘}”}Ð*¨�Øð Eð E�AØ—u’u˜[Ñ)Ô)­SÒ0Ð0ØŸš¥ A§E¢E¨,Ñ$7Ô$7Ð$=¸2Ñ >Ô >¸sÀ¸sÔ CÑDÔDÐDøÝ�t‘9”9˜s’?�?ØØ˜‘	�ð ˜"’*�*õ ÐK­S°©X¬XÐKÐKÐKÑLÔLÐLÐLøÝð 	8ð 	8ð 	8ÝÐ2°BÑ7Ô7Ð7Ð7Ð7Ð7Ð7Ð7øøøøð	8øøøàð 		Jð 		JˆAðJÝ˜q Q¤T¨sÐ3Ñ3Ô3�Ø×#Ò# EÑ*Ô*ð -Ø—G’G˜q œt˜O˜O˜OÑ,Ô,Ð,Ý˜˜1œÐ2Ð2  !¤Ð2Ð2Ð2¨5Ð2Ð2Ñ3Ô3Ð3Ð3øÝð Bð Bð BÝ˜˜1œÐ@Ð@  !¤Ð@Ð@Ð@¸BÐ@Ð@ÑAÔAÐAÐAÐAÐAÐAÐAøøøøÝð Jð Jð JÝ˜˜1œÐHÐH  !¤ÐHÐHÐH­t°B©x¬xÔ/@ÐHÐHÀBÐHÐHÑIÔIÐIÐIÐIÐIÐIÐIøøøøðJøøøð3Jð Jð"		Jð 		Js>   ÈC%K, Ë,
LË6LÌLÌA.NÎ
P
Î$N:Î:P
Ï9PÐP
Ú__main__)r”   )r¿   )FN)7Ú__doc__r€  r  ÚjsonrQ   ru   r[   Úsysra   Úconcurrent.futuresr   ÚWSrT   rU   rU  r  rS   rÎ   Úss_carousel_librÞ   Úrepliz_clientr   r   r   Úpasang_car_generikr)  ÚtimezoneÚ	timedeltaÚWIBrX  rã   râ   rá   rY  r„  r´   ÚcompileÚIrµ   ri   r‰   r“   rš   r¨   r¾   rÅ   r£   r¤   rØ   rè   r%  r/  ro  r“  rŒ  rn   rj   rh   ú<module>r¢     sš  ððð ð €€€Ø €€€Ø €€€Ø 	€	€	€	Ø 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø €€€Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à6€Ø„g‡l‚l�2�~Ñ&Ô&€Ø„g‡l‚l�2Ð(Ñ)Ô)€Ø€Ø „‡‚��2Ñ Ô Ð Ø Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð à€hÔÐ*˜Ô*°Ð3Ñ3Ô3Ñ4Ô4€Ø €Ø€Ø€Ø
€Ø;€ðð ð €ð:	bð 	bð 	b€ð 
ˆŒÐ>ÀÄÑ	EÔ	E€ðð ð ðð ð ð$	ð 	ð 	ð	ð 	ð 	ð 	ð	ð 	ð 	ð<ð <ð <ð4
ð 
ð 
ð 
ð:€ð ˆ"Œ*ð  að  ceô  cgñ  hô  h€ðð ð ðD>ð >ð >ð=Qð =Qð =QðBð ð ð/>ð />ð />ð />ðd5Jð 5Jð 5Jðp ˆzÒÐØ€D�F„F€F€F€Fð Ðrj   