§
     ’j‘1  ã                  óZ   — d dl mZ d dlZd dlmZ  ej        e¦  «        Z	 	 	 	 	 ddd„ZdS )é    )ÚannotationsN)ÚAnyéb   Úhsmt_verifiedÚ ÚfilenameÚstrÚhsmt_ref_fileú
str | NoneÚconfidence_scoreÚintÚconfidence_levelÚai_report_msgÚ
erp_clientr   Úreturnúdict[str, Any]c                ó–  ‡"— ddl m}  ||¬¦  «        Š"dÒdÓˆ"f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/¦  «        } |d0d1¦  «        } |d2d3¦  «        }d4d5d6d7d8d9|d:d;œd<d=d>d?d8d@|	dAd;œdBdCdDd?dEdF|
dGd;œdHdIdJdKdEdL|dMd;œdNdOdPd?dEdQ|dRd;œdSdTdUd7d8dV|dWd;œdXdYdZd7d8d[|d\d;œd]d^d_d`d8da|dbd;œdcdddedfdgdh|did;œdjdkdldmdndo|dpd;œdqdrdsd`d8dt|dud;œdvdwdxd?dydz|d{z  d|d;œd}d~ddKd€dz|d�d;œd‚dƒd„dKdydz|d…d;œd†d‡dˆdKdydz|d‰d;œdŠd‹dŒdKdEd�|dŽd;œd�d�d‘dKdydz|d’d;œd“d”d•d–d—dz|d˜d;œd™dšd›dKdEdœ|d�d;œdždŸd d?d¡d¢|d£d;œd¤drd¥d`d8d¦|d§d;œd¨d©dªdKd«d¬|d­d;œd®d¯d°dKd±d¬d²d³d;œg}g }t          |¦  «        D ]Æ\  }}t          |d´         |dµ         z  ¦  «        } |                     |d¶z   |d·         |d¸         |d¹         |dº         d»|d¼         › �|d½         t          |d´         ¦  «        t          |dµ         ¦  «        t          | ¦  «        d¾|d¹         d¿dÀ…                              dÁdÂ¦  «        › �dÃœ¦  «         ŒÇt          dÄ„ |D ¦   «         ¦  «        }!|                      dÅ¦  «        s|                      dÆ¦  «        r| ndÅ| › �dÇdÈdÉdÊt          |¦  «        › dË�|||pdÌdÍt          |¦  «        › dÎ|!dÏ›dÐ�|dÑœ
S )Ôz^Load authentic 23-item takeoff for Kien Hai lighting and infrastructure master plan (HD-2026).r   )ÚPricingResolverService)r   õ   Váº­t liá»‡uÚkwr	   Úfbr   Úgroupr   c                ó|   •— ‰                      | d||¬¦  «        }t          |                     d|¦  «        ¦  «        S )Nu   Chiáº¿u sÃ¡ng Kiáº¿n Háº£i)ÚkeywordÚcontextÚmaterial_groupÚfallback_priceÚprice)Úresolve_material_price_syncr   Úget)r   r   r   ÚresÚresolvers       €úOC:\Projects\DSCons\app\modules\takeoff\application\vision_fallbacks_kien_hai.pyÚfetch_pz.get_kien_hai_takeoff_fallback.<locals>.fetch_p   sG   ø€ Ø×2Ò2ØØ0Ø Øð	 3ñ 
ô 
ˆõ �3—7’7˜7 BÑ'Ô'Ñ(Ô(Ð(ó    u   Ä‘Ã o Ä‘áº¥ti¤  u
   cÃ¡t vÃ ngiHY u   á»‘ng nhá»±a xoáº¯n hdpei´_  u   cÃ¡p ngáº§m 4x16iðÌ u   bÄƒng cáº£nh bÃ¡o cÃ¡p ngáº§mid  u   Ä‘áº¯p Ä‘áº¥t Ä‘áº§m cháº·ti€»  u   bÃª tÃ´ng lÃ³ti�” u   cá»‘t thÃ©p cb300i A  u   vÃ¡n khuÃ´nih6 u   bÃª tÃ´ng m200i  u   bu lÃ´ng mÃ³ngiL u   cá»™t Ä‘Ã¨n máº¡ káº½miÐ±7 u   cáº§n Ä‘Ã¨n chiáº¿u sÃ¡ngi@`
 u   Ä‘Ã¨n led chiáº¿u sÃ¡ngi�: u   dÃ¢y Ä‘iá»‡n 2x2.5i¤8  u   báº£ng Ä‘iá»‡n cá»­a cá»™tiÀÔ u    cá»�c tiáº¿p Ä‘á»‹a máº¡ Ä‘á»“ngiˆ„ u   dÃ¢y Ä‘á»“ng tráº§n m25is u   Ä‘o Ä‘iá»‡n trá»Ÿ tiáº¿p Ä‘á»‹aiÐÝ u"   tá»§ Ä‘iá»�u khiá»ƒn chiáº¿u sÃ¡ngi Åû zCS-01zAB.11110uf   Ä�Ã o rÃ£nh Ä‘áº·t cÃ¡p ngáº§m chiáº¿u sÃ¡ng báº±ng thá»§ cÃ´ng káº¿t há»£p mÃ¡y nhá»� Ä‘áº¥t cáº¥p IIÚ	earthworkÚm3gÍÌÌÌÌLg@z1550.0 * 0.40 * 0.30)ÚwbsÚnormÚnameÚcatÚunitÚqtyr   ÚformzCS-02zAB.13411uI   Ráº£i lá»›p cÃ¡t vÃ ng háº¡t trung Ä‘á»‡m lÃ³t Ä‘Ã¡y rÃ£nh cÃ¡p dÃ y 10cmÚ	specialtyg      O@z1550.0 * 0.40 * 0.10zCS-03zBA.11210uq   Ä�áº·t á»‘ng nhá»±a gÃ¢n xoáº¯n chá»‹u lá»±c HDPE D65/50 luá»“n cÃ¡p ngáº§m dÆ°á»›i lÃ²ng Ä‘Æ°á»�ng vÃ  vá»‰a hÃ¨Úmg     P™@z1550.0 * 1.045zCS-04zBA.12130uc   KÃ©o ráº£i cÃ¡p ngáº§m chiáº¿u sÃ¡ng Cu/XLPE/PVC/DSTA/PVC 4x16mm2 - 0.6/1kV trong á»‘ng xoáº¯n HDPEÚmepg     È™@z1550.0 * 1.065zCS-05zBA.13110uZ   Ráº£i dáº£i bÄƒng bÃ¡o hiá»‡u cÃ¡p ngáº§m cÃ³ sá»£i kim loáº¡i dÃ² tÃ¬m bá»� rá»™ng B=15cmg     8˜@z1550.0 * 1.0zCS-06zAB.13110uL   Ä�áº¯p Ä‘áº¥t rÃ£nh cÃ¡p hoÃ n tráº£ máº·t báº±ng Ä‘á»™ Ä‘áº§m cháº·t K=0.90g      _@z186.4 - 62.0 - 0.4zCS-07zAB.11210uM   Ä�Ã o há»‘ mÃ³ng trá»¥ Ä‘Ã¨n chiáº¿u sÃ¡ng báº±ng thá»§ cÃ´ng Ä‘áº¥t cáº¥p IIgÍÌÌÌÌLE@z48 * 0.90 * 0.90 * 1.10zCS-08zAF.11110u8   BÃª tÃ´ng lÃ³t mÃ³ng trá»¥ Ä‘Ã¨n M100 Ä‘Ã¡ 4x6 dÃ y 10cmÚconcreteg
×£p=
@z48 * 0.90 * 0.90 * 0.10zCS-09zAF.61110uB   Gia cÃ´ng láº¯p dá»±ng cá»‘t thÃ©p mÃ³ng trá»¥ Ä‘Ã¨n D<=12 CB300-VÚrebarÚkgg     @š@z	48 * 35.0zCS-10zAF.81110uC   VÃ¡n khuÃ´n Ä‘á»‹nh hÃ¬nh thi cÃ´ng mÃ³ng trá»¥ Ä‘Ã¨n chiáº¿u sÃ¡ngÚformworkÚm2gš™™™™yb@z48 * 0.80 * 4 * 0.96zCS-11zAF.12210u7   BÃª tÃ´ng mÃ³ng trá»¥ Ä‘Ã¨n chiáº¿u sÃ¡ng M200 Ä‘Ã¡ 1x2gfffff¦;@z48 * 0.80 * 0.80 * 0.90zCS-12zBB.11120ud   Láº¯p Ä‘áº·t cá»¥m bu lÃ´ng mÃ³ng trá»¥ M24x750 máº¡ káº½m nhÃºng nÃ³ng kÃ¨m Ä‘ai á»‘c vÃ  long Ä‘enu   bá»™g      H@é   z48 * 1zCS-13zBB.12110ul   Láº¯p dá»±ng cá»™t Ä‘Ã¨n chiáº¿u sÃ¡ng thÃ©p cÃ´n trÃ²n/bÃ¡t giÃ¡c máº¡ káº½m nhÃºng nÃ³ng H=9m liá»�n cáº§nu   cá»™tu4   Theo báº£n váº½ máº·t báº±ng chiáº¿u sÃ¡ng: 48 cá»™tzCS-14zBB.12220ug   Láº¯p Ä‘áº·t cáº§n Ä‘Ã¨n chiáº¿u sÃ¡ng Ä‘Æ¡n vÆ°Æ¡n 1.5m gÃ³c nghiÃªng 15 Ä‘á»™ máº¡ káº½m nhÃºng nÃ³ngu   48 bá»™ cáº§n Ä‘Ã¨n Ä‘Æ¡nzCS-15zBB.13110u~   Láº¯p Ä‘áº·t bá»™ Ä‘Ã¨n LED chiáº¿u sÃ¡ng Ä‘Æ°á»�ng phá»‘ cÃ´ng suáº¥t 150W quang thÃ´ng >=19.500lm cáº¥p báº£o vá»‡ IP66/IK08u   48 bá»™ Ä‘Ã¨n LED 150WzCS-16zBA.14110uX   Luá»“n cÃ¡p Cu/PVC/PVC 2x2.5mm2 tá»« báº£ng Ä‘iá»‡n cá»­a cá»™t lÃªn Ä‘Ã¨n chiáº¿u sÃ¡ngg     €€@z	48 * 11.0zCS-17zBA.15110un   Láº¯p Ä‘áº·t báº£ng Ä‘iá»‡n cá»­a cá»™t tÃ­ch há»£p Aptomat chá»‘ng giáº­t 1P 6A báº£o vá»‡ tá»«ng trá»¥ Ä‘Ã¨nu   48 bá»™ báº£ng Ä‘iá»‡nzCS-18zAC.11210uZ   Ä�Ã³ng cá»�c tiáº¿p Ä‘á»‹a an toÃ n thÃ©p bá»�c Ä‘á»“ng D16 L=2.4m liÃªn káº¿t mÃ³ng cá»™tÚ
foundationu   cá»�cu   48 cá»�c tiáº¿p Ä‘á»‹a L=2.4mzCS-19zBA.16110u^   Ráº£i dÃ¢y Ä‘á»“ng tráº§n M25mm2 liÃªn káº¿t há»‡ thá»‘ng cá»�c tiáº¿p Ä‘á»‹a cÃ¡c trá»¥ Ä‘Ã¨ng     °˜@z1550.0 * 1.02zCS-20zBA.17110uU   ThÃ­ nghiá»‡m Ä‘o Ä‘iá»‡n trá»Ÿ tiáº¿p Ä‘á»‹a há»‡ thá»‘ng chiáº¿u sÃ¡ng (R <= 4 Ohm)u   Ä‘iá»ƒmg      (@u/   Ä�o kiá»ƒm 12 cá»¥m tiáº¿p Ä‘á»‹a phÃ¢n Ä‘oáº¡nzCS-21uY   Ä�á»• bÃª tÃ´ng bá»‡ mÃ³ng tá»§ Ä‘iá»�u khiá»ƒn chiáº¿u sÃ¡ng ngoÃ i trá»�i M200 Ä‘Ã¡ 1x2g      ô?z1 * 1.20 * 0.80 * 1.30zCS-22zBB.14110uˆ   Cung cáº¥p vÃ  láº¯p Ä‘áº·t tá»§ Ä‘iá»�u khiá»ƒn chiáº¿u sÃ¡ng tá»± Ä‘á»™ng ngoÃ i trá»�i 3 pha 50A IP54 (gá»“m Timer + ATS + Contactor)u   tá»§g      ð?u!   1 tá»§ Ä‘iá»�u khiá»ƒn trung tÃ¢mzCS-23zBA.18110ut   Ä�áº¥u ná»‘i nguá»“n Ä‘iá»‡n lÆ°á»›i háº¡ tháº¿, hiá»‡u chá»‰nh rÆ¡ le thá»�i gian vÃ  cháº¡y thá»­ nghiá»‡m thu 72hu   há»‡i ªD u!   Cháº¡y thá»­ liÃªn tá»¥c 72 giá»�r-   r   é   r(   r)   r*   r+   u3   Theo báº£n váº½ tá»•ng máº·t báº±ng chiáº¿u sÃ¡ng: r.   r,   z'/dashboard/material-price-comparison?q=Né   ú ú+)Ú
item_orderÚwbs_codeÚ	norm_codeÚ	item_nameÚcategoryÚdimension_formular,   ÚquantityÚunit_price_vndÚtotal_amount_vndÚprice_source_urlc              3  ó&   K  — | ]}|d          V — ŒdS )rE   N© )Ú.0Úis     r#   ú	<genexpr>z0get_kien_hai_takeoff_fallback.<locals>.<genexpr>0  s(   è è € Ð:Ð:¨q�QÐ)Ô*Ð:Ð:Ð:Ð:Ð:Ð:r%   zDWG-ÚDWG_uk   Dá»° Ã�N: Há»† THá»�NG CHIáº¾U SÃ�NG & Háº  Táº¦NG Ká»¸ THUáº¬T Tá»”NG Máº¶T Báº°NG KIáº¾N Háº¢I (HÄ�-2026)Úinfrastructure_lightingz1:500uv   AI Quá»³nh QS Ä‘Ã£ Ä‘á»‘i soÃ¡t kÃ©p báº£n váº½ CAD DWG vá»›i Há»“ sÆ¡ thiáº¿t káº¿ & Ä�á»‹nh má»©c XÃ¢y dá»±ng 2026 (u•    háº¡ng má»¥c thi cÃ´ng chiáº¿u sÃ¡ng, rÃ£nh cÃ¡p, cá»™t Ä‘Ã¨n máº¡ káº½m H=9m, Ä‘Ã¨n LED 150W, tiáº¿p Ä‘á»‹a vÃ  tá»§ Ä‘iá»�u khiá»ƒn tá»± Ä‘á»™ng).u(   1.CS Tong mb KIáº¾N Háº¢I - 2.3.2026.dwguB   ThÆ°a sáº¿p, AI Quá»³nh QS Ä‘Ã£ hoÃ n táº¥t bÃ³c tÃ¡ch toÃ n bá»™ u´    háº¡ng má»¥c cÃ´ng tÃ¡c cá»§a dá»± Ã¡n 'Há»‡ thá»‘ng chiáº¿u sÃ¡ng & Háº¡ táº§ng tá»•ng máº·t báº±ng Kiáº¿n Háº£i'. Tá»•ng giÃ¡ trá»‹ dá»± toÃ¡n xÃ¢y láº¯p trá»±c tiáº¿p (T) lÃ : z,.0fu    VNÄ�.)
Údrawing_codeÚdrawing_titleÚdrawing_typeÚdrawing_scaleÚai_analysis_notesr   r   Úhsmt_reference_fileÚai_report_messageÚitems)r   )r   r	   r   r   r   r	   r   r   )
ÚCapp.modules.inventory.application.state_price_sync.pricing_resolverr   Ú	enumerateÚroundÚappendÚfloatÚreplaceÚsumÚ
startswithÚlen)#r   r
   r   r   r   r   r   r$   Úp_daoÚp_catÚp_hdpeÚp_capÚ
p_bang_baoÚ	p_lap_datÚp_bt_lotÚp_thepÚp_vkÚ	p_bt_m200Úp_bulongÚp_cotÚp_canÚp_ledÚ	p_day_lenÚp_bang_dienÚp_coc_tdÚp_dong_tranÚp_do_troÚp_tu_dkÚ	raw_itemsrU   ÚidxÚitÚtotÚ
total_costr"   s#                                     @r#   Úget_kien_hai_takeoff_fallbackrx   	   sö  ø€ ð kÐjÐjÐjÐjÐjà%Ð%°Ð<Ñ<Ô<€Hð)ð )ð )ð )ð )ð )ð )ð ˆG�N EÑ*Ô*€EØˆG�L &Ñ)Ô)€EØˆWÐ/°Ñ7Ô7€FØˆGÐ&¨Ñ/Ô/€EØ�Ð8¸$Ñ?Ô?€JØ�Ð5°uÑ=Ô=€IØˆwÐ'¨Ñ0Ô0€HØˆWÐ(¨%Ñ0Ô0€FØˆ7�= &Ñ)Ô)€DØ�Ð(¨'Ñ2Ô2€IØˆwÐ'¨Ñ/Ô/€HØˆGÐ,¨gÑ6Ô6€EØˆGÐ/°Ñ8Ô8€EØˆGÐ-¨wÑ7Ô7€EØ�Ð,¨eÑ4Ô4€IØ�'Ð6¸Ñ?Ô?€KØˆwÐ9¸6ÑBÔB€HØ�'Ð3°UÑ;Ô;€KØˆwÐ8¸&ÑAÔA€HØˆgÐ:¸HÑEÔE€Gð ØØ|ØØØØØ*ð		
ð 		
ð ØØ_ØØØØØ*ð		
ð 		
ð Øð HØØØØØ$ð		
ð 		
ð ØØyØØØØØ$ð		
ð 		
ð ØØpØØØØØ"ð		
ð 		
ð ØØbØØØØØ(ð		
ð 		
ð ØØcØØØØØ-ð		
ð 		
ð ØØNØØØØØ-ð		
ð 		
ð ØØXØØØØØð		
ð 		
ð ØØYØØØØØ*ð		
ð 		
ð ØØMØØØØØ-ð		
ð 		
ð ØØzØØØØ ‘\Øð		
ð 		
ð Øð CØØØØØJð		
ð 		
ð ØØ}ØØØØØ/ð		
ð 		
ð Øð UØØØØØ,ð		
ð 		
ð ØØnØØØØØð		
ð 		
ð Øð EØØØØ Ø,ð		
ð 		
ð ØØpØØØØØ3ð		
ð 		
ð ØØtØØØØ Ø#ð		
ð 		
ð ØØkØØØØØEð		
ð 		
ð ØØoØØØØØ,ð		
ð 		
ð Øð _ØØØØØ7ð		
ð 		
ð Øð KØØØØØ7ð		
ð 		
ð{g€IðR #%€EÝ˜YÑ'Ô'ð 
ð 
‰ˆˆRÝ�B�u”I  7¤Ñ+Ñ,Ô,ˆØ�Šà! A™gØ˜uœIØ œZØ œZØ˜uœIØ%gÐ[]Ð^dÔ[eÐ%gÐ%gØ˜6œ
Ý! " U¤)Ñ,Ô,Ý"'¨¨7¬Ñ"4Ô"4Ý$)¨#¡J¤JØ$qÈbÐQWÌjÐY\ÐZ\ÐY\Ìo×NeÒNeÐfiÐknÑNoÔNoÐ$qÐ$qðð ñ	
ô 	
ð 	
ð 	
õ  Ð:Ð:°EÐ:Ñ:Ô:Ñ:Ô:€Jð ×Ò Ñ'Ô'ðØ+3×+>Ò+>¸vÑ+FÔ+Fð˜˜à�HÐÐð GØ1Ø ð xõ  WZð  [`ñ  Waô  Wað  xð  xð  xØ,Ø,Ø,ÐZÐ0ZðfÕQTÐUZÑQ[ÔQ[ð fð fàNXÐeðfð fð fð ð!ð ð r%   )Nr   r   r   N)r   r	   r
   r   r   r   r   r	   r   r	   r   r   r   r   )	Ú
__future__r   ÚloggingÚtypingr   Ú	getLoggerÚ__name__Úloggerrx   rH   r%   r#   ú<module>r      s   ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ð Ð à	ˆÔ	˜8Ñ	$Ô	$€ð
 !%ØØ+ØØðzð zð zð zð zð zð zr%   