§
    $gÒjî  ã                   ó  — d Z ddlZddlZddlZej                             ej                             e¦  «        ¦  «        Zej         	                    ed¦  «        Z
dZddddœd	d
ddœddddœddddœddddœddddœddddœddddœddd dœd!d"d#dœd$d%d&dœd'd(d)dœd*d+d,dœd-d.d/dœgZg d0¢Zd1„ Zd2„ Zed3k    rT eej        ¦  «        d4k    rej        d4         nd5Zed5k    r e¦   «          dS ed6k    r e¦   «          dS  ee ¦  «         dS dS )7u)  gen_uky5_quotes.py â€” seri ke-5 kartu quote untuk Threads @ukyhandoko.

Latar belakang (17 Okt 2026): antrean `image_posting_queue.json` (88 item) HABIS TOTAL â€”
index wrap ke 0, dan 0 item pun layak tayang:
  â€¢ 29 item = arsip Juli `studiosoft_batch/*` ber-bg #1E40AF (navy LAMA yang DILARANG
    perintah Bos 16 Sep 2026) â†’ tidak boleh diposting, harus render ulang.
  â€¢ 59 item sisanya sudah tayang (tercatat di `image_posting_log.json`).
Lane kartu 08:00 WIB Threads @ukyhandoko terisi s/d 9 Nov 2026 (seri uky4) â†’ seri baru ini
menyambung mulai 10 Nov 2026. Preseden: 4 Okt 2026 Bos perintahkan tambah stok kartu
("Lakukan 3, 2, 1") â†’ dibuat seri uky4 (18 kartu).

Spesifikasi WAJIB (Bos 16 Sep 2026, jangan diubah):
  square 1080x1080 Â· judul Poppins-Bold 85 Â· body Poppins-Regular 36 Â· rata kiri Â·
  satu blok di tengah vertikal Â· tanpa garis separator Â· tanpa glyph bullet Â·
  header "@ukyhandoko" + footer "@ukyhandoko â€¢ Founder StudioSoft".
Warna: BIRU #122B63 (RGB 18,43,99) Â· PUTIH Â· ORANGE (249,115,22) â€” BUKAN navy lama.

Pakai:
  python3 gen_uky5_quotes.py render    # render 3 warna per quote -> uky5_output/
  python3 gen_uky5_quotes.py queue     # tambahkan 14 item ke image_posting_queue.json
                                       # + arahkan state index ke item baru pertama
é    NÚuky5_outputu"   @ukyhandoko â€¢ Founder StudioSoftÚtanya_sebelum_kerjakanz$Tanya Dulu, Jangan Langsung KerjakanzpYang bikin proyek mundur jarang soal kemampuan. Lebih sering karena asumsi yang tidak pernah ditanyakan di awal.)ÚnamaÚjudulÚbodyÚbalas_lebih_cepatz"Menang Karena Menjawab Lebih CepatznSaya sering dapat proyek bukan karena penawaran termurah, tapi karena jadi yang pertama menjawab dengan jelas.Úperjanjian_jelasz.Perjanjian Jelas Itu Bentuk Saling MenghormatizrDetail pekerjaan saya tulis di awal bukan karena tidak percaya. Justru supaya kerjaan dan hubungan sama-sama awet.Údelegasi_standarz#Serahkan Caranya, Pegang StandarnyaziDelegasi bukan lepas tangan. Yang saya berikan ke tim itu caranya, yang saya jaga tetap standar hasilnya.Úsalah_sekali_cukupz$Salah Itu Wajar, Mengulanginya TidakznSaya tidak marah kalau tim salah. Yang saya minta cuma satu: setelah salah, ada yang berubah di cara kerjanya.Úpertanyaan_klien_hadiahz%Klien yang Banyak Bertanya Itu Hadiahz„Pertanyaan klien menunjukkan bagian mana dari cara kerja kita yang belum jelas. Yang bikin gugup justru klien yang diam lalu hilang.Úportofolio_bicara_duluanz&Hasil Kerja Bicara Sebelum Kamu BicarazOrang menilai kemampuan saya dari kerja terakhir yang mereka lihat. Karena itu rapi di semua tempat, bukan cuma di depan klien.Úistirahat_bagian_kerjazIstirahat Itu Bagian dari KerjazŠMinggu yang tenang sering menghasilkan keputusan lebih bagus daripada minggu yang penuh. Saya baru sadar itu setelah lelah berkepanjangan.Úrekomendasi_orang_lainz)Iklan Termahal Itu Rekomendasi Orang Lainux   Pesan dari klien, â€�tadi ada yang tanya soal kalian, saya rekomendasikanâ€� â€” iklan seperti itu tidak bisa saya beli.Úbelajar_dari_yang_duluz,Belajar dari yang Lebih Dulu, Bukan MenyalinzYSaya suka mengamati kerja orang lain. Yang saya ambil pola kerjanya, bukan isi kontennya.Úcek_ulang_mata_klienz&Baca Ulang Kerja Kamu Pakai Mata Klienz}Sebelum hasil dikirim, saya baca ulang sambil bertanya: pertanyaannya sudah dijawab, atau saya cuma menambah pertanyaan baru?Úkerja_sendiri_batasz)Tidak Semua Pekerjaan Harus Kamu Kerjakanz}Tidak semua pekerjaan yang bisa saya kerjakan harus saya kerjakan. Fokus saya tinggal di bagian yang cuma bisa saya kerjakan.Úlayanan_setelah_bayarz&Layanan Dinilai Setelah Klien MembayarzvSemua orang ramah sebelum klien membayar. Yang menentukan reputasi justru apa yang kamu lakukan setelah uangnya masuk.Úalat_baru_bukan_strategiz#Ganti Alat Tidak Mengganti StrategizePindah platform atau coba alat baru tidak menyelesaikan apa-apa kalau tawaran kita masih belum jelas.)ÚBIRUÚPUTIHÚORANGEc                  ór  — dd l } | j                             dt          j                             t          d¦  «        ¦  «        }| j                             |¦  «        }|j         	                    |¦  «         t          j
        t          d¬¦  «         d}t          D ]�}|j                             ¦   «         D ]e\  }\  }}|d         › d|                     ¦   «         › d�}|                     |||d	         |d
         t"          d|dt          dddd¬¦  «         |dz  }ŒfŒ‚t%          d|› dt          › �¦  «         |S )Nr   Úguczgen_uky_center.pyT)Úexist_okr   Ú_ú.pngr   r   z1/1Úleft)é8  r   éU   é$   z@ukyhandoko)ÚfilenameÚmodeÚout_dirÚcanvasÚ
title_sizeÚ	body_sizeÚheaderé   zrender z	 file -> )Úimportlib.utilÚutilÚspec_from_file_locationÚosÚpathÚjoinÚWSÚmodule_from_specÚloaderÚexec_moduleÚmakedirsÚOUTÚLIST_POSTINGANÚBG_MAPÚitemsÚlowerÚrenderÚFOOTERÚprint)	Ú	importlibÚspecr   ÚnÚkÚsufÚbgÚfgÚfns	            úB/home/mantapman/.hermes/profiles/atun/workspace/gen_uky5_quotes.pyÚ
render_allrE   C   sI  € ØÐÐÐØŒ>×1Ò1°%½¼¿ºÅbÐJ]Ñ9^Ô9^Ñ_Ô_€DØ
Œ.×
)Ò
)¨$Ñ
/Ô
/€CØ„K×Ò˜CÑ Ô Ð Ý„K•˜dÐ#Ñ#Ô#Ð#Ø	€AÝð ð ˆØ œZ×-Ò-Ñ/Ô/ð 	ð 	‰MˆC‘�"�bØ�f”IÐ1Ð1 §	¢	¡¤Ð1Ð1Ð1ˆBØ�JŠJ�r˜2˜q œz¨1¨V¬9µf¸eØ "¨½Ø*°rÀRØ+ð ñ -ô -ð -ð �‰FˆAˆAð	õ 
Ð
%�AÐ
%Ð
%¥Ð
%Ð
%Ñ&Ô&Ð&Ø€Hó    c                  ó(  — t           j                             t          d¦  «        } t	          j        t          | ¦  «        ¦  «        }d„ |D ¦   «         }t          |¦  «        }d}t          t          ¦  «        D ]Ç\  }}t          |dz           }|d         › d|                     ¦   «         › d�}d|d         z   }	|	|v rŒEd	|› �}
t           j                             t           j                             t          |
¦  «        ¦  «        st          d
|
¦  «         Œ�|                     |	dd|d         ||
gdgdœ¦  «         |dz  }ŒÈt	          j        |t          | d¦  «        dd¬¦  «         t           j                             t          d¦  «        }t	          j        t          |¦  «        ¦  «        }t          |¦  «        |d<   ||d<   d|d<   t	          j        |t          |d¦  «        d¬¦  «         t          d|› dt          |¦  «        › d|› �¦  «         d S )Nzimage_posting_queue.jsonc                 ó8   — h | ]}|                      d ¦  «        ’ŒS )Úid)Úget)Ú.0Úxs     rD   ú	<setcomp>zqueue_add.<locals>.<setcomp>Y   s"   € Ð
"Ð
"Ð
"˜1ˆ1�5Š5�‰;Œ;Ð
"Ð
"Ð
"rF   r   é   r   r   r   Úuky_quote5_zuky5_output/zTERLEWAT, file belum ada:Ú
ukyhandokor   Úthreads_ukyhandoko)rI   ÚbrandÚsourceÚtopicr!   ÚpathsÚtargetsr(   ÚwF)ÚindentÚensure_asciizimage_posting_state.jsonÚtotalÚindexzÅ17 Okt 2026: 88 item lama (index 0-87) habis total; 29 di antaranya arsip Juli ber-bg #1E40AF (dilarang standar 16 Sep) dan 59 lainnya sudah tayang. Index dipindah ke item baru pertama (seri uky5).Úlompat_catatané   )rX   zqueue: +z item -> total z	 | state )r,   r-   r.   r/   ÚjsonÚloadÚopenÚlenÚ	enumerater5   ÚWARNA_ROTASIr8   Úexistsr;   ÚappendÚdump)ÚqpÚqÚadaÚmulaiÚtambahÚir?   ÚwarnarC   Úitem_idr-   ÚspÚsts                rD   Ú	queue_addrq   V   s  € Ý	Œ�Š•bÐ4Ñ	5Ô	5€BÝŒ	•$�r‘(”(ÑÔ€AØ
"Ð
" Ð
"Ñ
"Ô
"€CÝ�‰FŒF€EØ€FÝ�.Ñ)Ô)ð ð ‰ˆˆ1Ý˜Q ™UÔ#ˆØ�&”	Ð/Ð/˜EŸKšK™MœMÐ/Ð/Ð/ˆØ ! F¤)Ñ+ˆØ�cˆ>ˆ>ØØ"˜bÐ"Ð"ˆÝŒw�~Š~�bœgŸlšl­2¨tÑ4Ô4Ñ5Ô5ð 	ÝÐ-¨tÑ4Ô4Ð4ØØ	�Š˜¨,À-Ø˜Vœ9°"À¸vØ2Ð3ð5ð 5ñ 	6ô 	6ð 	6ð 	�!‰ˆˆÝ„Iˆa•�b˜#‘” q°uÐ=Ñ=Ô=Ð=Ý	Œ�Š•bÐ4Ñ	5Ô	5€BÝ	Œ•4˜‘8”8Ñ	Ô	€BÝ�a‘&”&€B€w�KØ€B€w�Kð]€BÐÑõ 	„Iˆb•$�r˜3‘-”-¨Ð*Ñ*Ô*Ð*Ý	Ð
A�VÐ
AÐ
A­C°©F¬FÐ
AÐ
A¸RÐ
AÐ
AÑBÔBÐBÐBÐBrF   Ú__main__r(   r9   Úqueue)Ú__doc__r^   r,   Úsysr-   ÚdirnameÚabspathÚ__file__r/   r.   r4   r:   r5   rc   rE   rq   Ú__name__ra   ÚargvÚaksir;   © rF   rD   ú<module>r}      s^  ððð ð, Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð Ð à„W‡_‚_�R”W—_’_ XÑ.Ô.Ñ/Ô/€Ø„g‡l‚l�2�}Ñ%Ô%€Ø	0€ð
 #Ð-SØ
|ð~ð ~à
Ð(LØ
zð|ð |à
Ð'WØ
~ð@ð @à
Ð'LØ
uðwð wà
Ð)OØ
zð|ð |à
#Ð.Uð QðRð Rà
$Ð/Wð LðMð Mà
"Ð-Nð WðXð Xà
"Ð-Xð NðOð Oà
"Ð-[Ø
eðgð gà
 Ð+Sð JðKð Kà
Ð*Uð JðKð Kà
!Ð,Tð CðDð Dà
$Ð/TØ
qðsð sð7€ð> +Ð*Ð*€ðð ð ð&Cð Cð Cð@ ˆzÒÐØ˜#˜cœh™-œ-¨!Ò+Ð+ˆ3Œ8�AŒ;ˆ;°€DØˆxÒÐØˆ
‰ŒˆˆˆØ	�ŠˆØˆ	‰Œˆˆˆàˆˆg‰Œˆˆˆð ÐrF   