§
    ¯Éi  ã                   ó   — d „ Z d„ Zd„ Zd„ ZdS )c                 óR   — | pd                      ¦   «                              ¦   «         S )NÚ )ÚlowerÚstrip)Úss    õG   C:\Users\NNHueet\Desktop\Ð”Ð¸Ð¿Ð»Ð¾Ð¼ Ð½Ð° Ð·Ð°ÐºÐ°Ð·\resume\matcher.pyÚ_normr      s"   € ØˆG��?Š?ÑÔ×"Ò"Ñ$Ô$Ð$ó    c                 ó|   — t          | ¦  «        }|sdS |D ]%}t          |¦  «        }|sŒ||k    s||v s||v r dS Œ&dS )u   Ð¡Ð¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ðµ Ð¸Ð¼ÐµÐ½Ð¸ Ð½Ð°Ð²Ñ‹ÐºÐ° Ñ� ÐºÐ»ÑŽÑ‡Ð°Ð¼Ð¸ (Ñ‚Ð¾Ñ‡Ð½Ð¾Ðµ, Ð²Ñ…Ð¾Ð¶Ð´ÐµÐ½Ð¸Ðµ Ñ� Ð»ÑŽÐ±Ð¾Ð¹ Ñ�Ñ‚Ð¾Ñ€Ð¾Ð½Ñ‹).FT)r   )Ú
skill_nameÚkw_listÚsnÚkwÚks        r   Ú_keyword_hits_namer      sk   € å	ˆzÑ	Ô	€BØð ØˆuØð ð ˆÝ�"‰IŒIˆØð 	ØØ�Š7ˆ7�a˜2�g�g  q  Ø�4�4ð ")àˆ5r	   c                 óø  ‡— g }g }|                      d¦  «        pg }|                      d¦  «        pg }g }||z   D ],}t          |¦  «        }|r||vr|                     |¦  «         Œ-| j                             ¦   «         D ],}	t          |	j        |¦  «        r|                     |	¦  «         Œ-| j                             ¦   «         D ]h}
|
j        › d|
j	        › d|
j
        pd› �                     ¦   «         Št          ˆfd„|D ¦   «         ¦  «        }|dk    r|                     |
|dœ¦  «         Œi|                     d„ d	¬
¦  «         |d„ |D ¦   «         t          |¦  «        dk    pt          |¦  «        dk    dœS )uK   Ð¡Ð¾Ð¿Ð¾Ñ�Ñ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ðµ ÐºÐ»ÑŽÑ‡ÐµÐ²Ñ‹Ñ… Ñ�Ð»Ð¾Ð² Ñ� Ð¿Ð¾Ñ€Ñ‚Ñ„Ð¾Ð»Ð¸Ð¾.ÚskillsÚtechnologiesú r   c              3   ó(   •K  — | ]}|¯|‰v ¯d V — ŒdS )é   N© )Ú.0r   Úproject_texts     €r   ú	<genexpr>z'match_with_portfolio.<locals>.<genexpr>(   s2   øè è € ÐDÐD˜"¨"ÐD°°|Ð1CÐ1C�AÐ1CÐ1CÐ1CÐ1CÐDÐDr	   é    )ÚprojectÚscorec                 ó   — | d         S )Nr   r   )Úxs    r   ú<lambda>z&match_with_portfolio.<locals>.<lambda>,   s
   € ¨¨'¬
€ r	   T)ÚkeyÚreversec                 ó   — g | ]
}|d          ‘ŒS )r   r   )r   Úps     r   ú
<listcomp>z(match_with_portfolio.<locals>.<listcomp>0   s   € Ð<Ð<Ð< a�Q�y”\Ð<Ð<Ð<r	   )r   ÚprojectsÚ	has_match)Úgetr   Úappendr   Úallr   Únamer&   ÚtitleÚdescriptionr   r   ÚsumÚsortÚlen)Ústudent_profileÚkeywordsÚmatched_skillsÚmatched_projectsÚ	kw_skillsÚkw_techÚkw_allr   ÚnÚskillr   r   r   s               @r   Úmatch_with_portfolior:      sÌ  ø€ à€NØÐà—’˜XÑ&Ô&Ð,¨"€IØ�lŠl˜>Ñ*Ô*Ð0¨b€GØ€FØ˜Ñ ð ð ˆÝ�!‰HŒHˆØð 	�˜&��Ø�MŠM˜!ÑÔÐøà Ô'×+Ò+Ñ-Ô-ð )ð )ˆÝ˜eœj¨&Ñ1Ô1ð 	)Ø×!Ò! %Ñ(Ô(Ð(øà"Ô+×/Ò/Ñ1Ô1ð Jð JˆàŒ}ÐQÐQ˜wÔ2ÐQÐQ°WÔ5IÐ5OÈRÐQÐQß
Š%‰'Œ'ð 	õ ÐDÐDÐDÐD ÐDÑDÔDÑDÔDˆØ�1Š9ˆ9Ø×#Ò#°À%Ð$HÐ$HÑIÔIÐIøà×ÒÐ2Ð2¸DÐÑAÔAÐAð !Ø<Ð<Ð+;Ð<Ñ<Ô<Ý˜Ñ(Ô(¨1Ò,ÐIµÐ4DÑ0EÔ0EÈÒ0Iðð ð r	   c                 ó"   — t          | |¦  «        S )u6   Ð�Ð»Ð¸Ð°Ñ� (Ð² Ñ‚.Ñ‡. Ð´Ð»Ñ� resume.services.matcher).)r:   )r1   r2   s     r   Úmatch_portfolior<   5   s   € å °Ñ:Ô:Ð:r	   N)r   r   r:   r<   r   r	   r   ú<module>r=      sL   ðð%ð %ð %ðð ð ðð ð ðD;ð ;ð ;ð ;ð ;r	   