
    iG^j                    l   d dl mZ d dlZd dlZd dlZd dlZd dlmZmZ d dlm	Z	  e	d          Z
dZdZdZe
d	z  d
z  Ze
d	z  dz  Ze
dz  dz  Ze
dz  dz  Ze
dz  dz  Ze
d	z  dz  Zedz  edz  ddfedz  edz  ddfedz  edz  ddfdZd+dZd,d!Zd-d#Zd.d%Zd/d(Zd-d)Zed*k    r e             dS dS )0    )annotationsN)datetimetimezone)PathzE/data/video-pipeline/HaTramAudio/project/014-Nguoi-Ve-Ban-Do-Mua-Dongz014-Nguoi-Ve-Ban-Do-Mua-Dongzrun-20260720T152357Z-c85a2128zoroimageprovider
normalizedlogzartwork-qa.jsonscriptzimage-prompts.jsonzpromotion-report.jsonzlayout-manifest.jsonzleft-panel-provider.pngzleft-panel-656x1080.png  8  zright-panel-provider.pngzright-panel-656x1080.pngzintro-poster-provider.pngzintro-poster-1920x1080.png  )
left_panelright_panelintro_posterreturnstrc                     t          j        t          j                                                                      dd          S )Nz+00:00Z)r   nowr   utc	isoformatreplace     work/build_layout.pyr   r      s0    <%%//1199(CHHHr   pathr   c                   t          j                    }|                     d          5 t          fdd          D ]}|                    |           	 d d d            n# 1 swxY w Y   |                                S )Nrbc                 .                          d          S )Ni   )read)fs   r   <lambda>zsha.<locals>.<lambda>#   s    !&&"9"9 r   r   )hashlibsha256openiterupdate	hexdigest)r   hblockr#   s      @r   shar-       s    A	4 A99993?? 	 	EHHUOOOO	               ;;==s   ,A##A'*A'Nonec                    t          j        t          dz                      d                    } t          t
          t          dd                                D ]0\  }}|                     |          |k    rt          d|           1d S )Nz.ownership-lock.jsonutf-8encodingmain_session_pipeline)
project_idrun_idownerstatuszownership mismatch: )
jsonloadsROOT	read_text
PROJECT_IDRUN_IDOWNERitemsgetRuntimeError)dkeyvalues      r   guardrE   (   s    
D11<<g<NNOOA%/6E]tuu{{}} = =
U55::;c;;<<< = =r   tuple[int, int]c                ^   t          j        ddddddddd	t          |           g
          }t          j        |                              d
g           }t          |          dk    rt          d|            t          |d         d                   t          |d         d                   fS )Nffprobez-verrorz-select_streamszv:0z-show_entrieszstream=width,heightz-ofr8   streams   zinvalid image stream: r   widthheight)	
subprocesscheck_outputr   r8   r9   r@   lenrA   int)r   rawrJ   s      r   dimsrS   /   s    

!4"3UOMbvs4yy#  C joo!!)R00G
7||q:D::;;;wqz'"##SH)=%>%>>>r   rD   dictc                    t                       |                     d| j        z   dz             }|                    t	          j        |dd          dz   d           t          j        ||            d S )	N.z.tmpF   )ensure_asciiindent
r0   r1   )rE   	with_namename
write_textr8   dumpsosr   )r   rD   tmps      r   atomic_jsonra   :   sl    	GGG
..ty61
2
2CNN4:e%BBBTIT[N\\\JsDr   c                 	   t                       t          j        t                              d                    } t          j        t
                              d                    }t          j        t                              d                    }|                    d          p|                    d          }|                     d          r|                     d          dk    rt          d          |                     d          |k    s|                    d          |k    rt          d	          t          
                    d
d
           i }t                                          D ]\  }\  }}}}	|                                st          d|           |                     di                               |i                               d          }
t          |          }||
k    rt          d|           t          |          \  }}||z  }||	z  }t!          ||z
            |z  }|dk    rt          d| d|d          |                    d|j        z   dz             }t'          j        ddddddt+          |          dd| d|	 dd d!t+          |          g           t          |          ||	fk    rt          d"|           t                       t-          j        ||           t+          |          |||gt+          |          t          |          ||	g|d#d$d$d$d$d%||<   t          d&z  }|                    d|j        z   dz             }t'          j        ddddddt+          t          d'         d(                   dt+          t          d)         d(                   d*d+d,d-d d!t+          |          g           t          |          d.k    rt          d/          t                       t-          j        ||           i d0d(d1t0          d2t2          dd3dd$d4d
d|d5t          t                    d6d
d|d7t+          |          d8t          |          d9d:d;gd<g d=g d>g d?d@dAdBdCt5                      }t7          t8          |           t;          t          j        d3t+          |          |d8         dDd$E                     d S )FNr0   r1   canon_sha256source_canon_sha256verifiedr7   passedzartwork visual QA is not passedz artwork authority canon mismatchT)parentsexist_okzmissing provider artifact: r?   artifact_sha256zprovider hash mismatch: gp=
ף?z.aspect ratio too far for full-frame resample: z delta=z.6frV   z.tmp.pngffmpegz-hide_bannerz	-loglevelrI   z-yz-iz-vfzscale=:z:flags=lanczosz	-frames:v1z normalized dimensions mismatch: full_frame_resample_onlyF)source_pathsource_sha256source_dimensionstarget_pathtarget_sha256target_dimensionsratio_delta	operationcroppadrotatetypography_postprocesszlayout-1920x1080.pngr   rK   r   z-filter_complexz[0:v]format=rgb24[left];[1:v]format=rgb24[right];color=c=#101820:s=1920x1080:r=1[base];[base][left]overlay=0:0[tmp];[tmp][right]overlay=1264:0,format=rgb24[out]z-mapz[out])r   r   zlayout dimensions mismatchschema_versionr4   r5   awaiting_visual_qatechnical_verifiedartwork_qa_sha256provider_only_typographylayout_pathlayout_sha256layout_dimensionsr   r   coordinates)r   r   r   r   )r   r   i`  r   )i  r   r   r   )leftcenterrightcenter_fillz#101820
created_at)r7   layoutr   )rX   )rE   r8   r9   
ARTWORK_QAr;   PROMPTS	PROMOTIONr@   rA   
NORMALIZEDmkdirTARGETSr?   is_filer-   rS   absr[   r\   rN   
check_callr   r_   r   r<   r=   r   ra   MANIFESTprintr^   )qaprompts	promotion
canon_hashr?   rC   sourcetargettwthexpectedsource_hashswshsource_ratiotarget_ratiort   r`   r   
tmp_layoutmanifests                        r   mainr   A   s   	GGG	J(('(::	;	;Bj**G*<<==G
9...@@AAI~..V)--@U2V2VJ66* >!1!1X!=!=<===	vv#$$
22gkkBW6X6X\f6f6f=>>>TD111E)0 #
 #
%%ffb"~~ 	GEVEEFFF66'2&&**333778IJJ&kk(""?#??@@@fBBwBw,566EmPSmm\gmmmnnnsV[0:=>>nk7D$F3B33333[#s3xx
 	 	 	 99R  G#GGHHH

3v;;("$bv;; [["$b&3&+
 
c

 00F!!#"3j"@AAJ.+wc','*++T3w}7Ma7P3Q3Q 	kc3z??    J<''7888	GGGJz6"""!j 	& 	&	
 	E 	d 	z 	S__ 	#D 	 	s6{{ 	V 	dD\ 	 1 1 1=P=P=P[o[o[opp 	y  	cee!H$ (###	$* 4F^fgv^wxx  HM  N  N  N  O  O  O  O  Or   __main__)r   r   )r   r   r   r   )r   r.   )r   r   r   rF   )r   r   rD   rT   r   r.   )
__future__r   r%   r8   r_   rN   r   r   pathlibr   r:   r<   r=   r>   PROVIDERr   r   r   r   r   r   r   r-   rE   rS   ra   r   __name__r   r   r   <module>r      s   " " " " " "   				     ' ' ' ' ' ' ' '      tSTT+
	('>J&G^l*
E\--

/0
08O55	'>2277F_9_adfjk99:Hb;bdgimn ;;ZJf=fhlnrs I I I I   = = = =? ? ? ?   PO PO PO POf zDFFFFF r   