§
    üu¦j€  ã                   óÌ   — d Z ddlZddlmc mZ ddlZddlm	Z	 ddl
Z
ddlmZmZ e
j        d„ ¦   «         Ze
j        d„ ¦   «         Zde	fd„Zde	fd	„Zde	fd
„Zde	fd„Zde	fd„ZdS )uŸ   
Unit Tests for Poe2VisualTool Commercial License Engine
Kiá»ƒm thá»­ mÃ£ hÃ³a, chá»¯ kÃ½ sá»‘ HMAC, thá»�i háº¡n, khÃ³a theo HWID vÃ  lÆ°u trá»¯ license.dat.
é    N)ÚPath)ÚLicenseManagerÚLicenseTierc                  ó   — dS )NzPVT-A1B2-C3D4-E5F6-7890© r   ó    ú0C:\Projects\Poe2VisualTool\tests\test_license.pyÚ	mock_hwidr
      ó   € à$Ð$r   c                  ó   — dS )NzPVT-FFFF-EEEE-DDDD-CCCCr   r   r   r	   Ú
other_hwidr      r   r   Útmp_pathc                 ó˜  — t          |dz  | ¬¦  «        }t          j        | t          j        ¦  «        }|j        }d} ||¦  «        }|sžddt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|                     |¦  «        \  }}	}
}d}||u }|s—t          j        d	|fd
||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}t          j        }|	|k    }|sßt          j        d|fd|	|f¦  «        dt          j        ¦   «         v st          j        |	¦  «        rt          j	        |	¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}d}|
|k    }|s—t          j        d|fd|
|f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}|j        } ||¦  «        }d}||u }|sût          j        d	|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}x}}|                     ¦   «         }|j        }d}||u }|sªt          j        d	|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }t          j        }||k    }|sòt          j        d|fd#||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        dœz  }d$d%|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d&}||k    }|sªt          j        d|fd'||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}|j        }d}||u }|sªt          j        d	|fd(||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        d œz  }d!d"|iz  }t          t          j        |¦  «        ¦  «        ‚dx}x}}dS ))u@   Kiá»ƒm tra sinh vÃ  xÃ¡c thá»±c License VÄ©nh Viá»…n (LIFETIME).úlicense.dat©Úlicense_file_pathÚcustom_hwidzPVTK-LúLassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.startswith
}(%(py4)s)
}Úkey©Úpy0Úpy2Úpy4Úpy6NT©Úis©z%(py0)s is %(py3)sÚvalid©r   Úpy3úassert %(py5)sÚpy5©ú==)z0%(py0)s == %(py4)s
{%(py4)s = %(py2)s.LIFETIME
}Útierr   ©r   r   r   úassert %(py6)sr   r   )z%(py0)s == %(py3)sÚexp©zR%(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.save_license
}(%(py3)s)
} is %(py8)sÚlm©r   r   r    r"   Úpy8úassert %(py10)sÚpy10©z0%(py2)s
{%(py2)s = %(py0)s.is_valid
} is %(py5)sÚinfo©r   r   r"   úassert %(py7)sÚpy7)zJ%(py2)s
{%(py2)s = %(py0)s.tier
} == %(py6)s
{%(py6)s = %(py4)s.LIFETIME
}úassert %(py8)sr,   iŸ† )z1%(py2)s
{%(py2)s = %(py0)s.days_left
} == %(py5)s)z2%(py2)s
{%(py2)s = %(py0)s.expires_at
} is %(py5)s)r   Úgenerate_product_keyr   ÚLIFETIMEÚ
startswithÚ@py_builtinsÚlocalsÚ
@pytest_arÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚverify_product_keyÚ_call_reprcompareÚsave_licenseÚload_licenseÚis_validr%   Ú	days_leftÚ
expires_at)r
   r   r*   r   Ú@py_assert1Ú@py_assert3Ú@py_assert5Ú@py_format7r   r%   r(   ÚmsgÚ@py_assert2Ú@py_format4Ú@py_format6Ú@py_format5Ú@py_assert4Ú@py_assert7Ú@py_assert6Ú@py_format9Ú@py_format11r0   Ú@py_format8s                          r	   Útest_lifetime_key_validationrU      s`  € å	¨(°]Ñ*BÐPYÐ	ZÑ	ZÔ	Z€BÝ
Ô
-¨i½Ô9MÑ
NÔ
N€CàŒ>Ð#˜(Ð#ˆ>ˆ>˜(Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆ3Ñ#Ô#Ð#Õ#Ô#ˆ3Ñ#Ô#Ð#Ð#Õ#Ô#ˆ>Ñ#Ô#Õ#Ô#˜(Ñ#Ô#Õ#Ô#Ð#Ñ#Ô#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×1Ò1°#Ñ6Ô6Ñ€Eˆ4��cØÐˆ5�Dˆ=ÐÐÐÕÔÐÐÐÐˆ5�DÐÑÔÐÕÔÑÔÐÐÕÔˆ5ÑÔÐÕÔˆ5ÑÔÐÐÕÔ�DÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÝÔ'Ð'ˆ4Ð'Ò'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ4Ð'Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆ4Ñ'Ô'Ð'Õ'Ô'ˆ4Ñ'Ô'Ð'Ð'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'•;Ñ'Ô'Ð'Õ'Ô'•;Ñ'Ô'Ð'Ð'Õ'Ô'Ð'Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ø€Oˆ3�!Š8€O€O€O…O„O€O€O€O€Oˆ3�!€O�O„O€O…O„O�O„O€O€O…O„Oˆ3�O„O€O…O„Oˆ3�O„O€O€O…O„O�!�O„O€O€O�O€O€O€O€O€O�O€O…O…O„O€O�O„O�O„O€O€O€O€O€Oð Œ?Ð'ˆ?ˆ?˜3ÑÔÐ' 4Ð'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆ2Ñ'Ô'Ð'Õ'Ô'ˆ2Ñ'Ô'Ð'Ð'Õ'Ô'ˆ?Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'˜3Ñ'Ô'Ð'Õ'Ô'˜3Ñ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø�?Š?ÑÔ€DØŒ=Ð ˜DÐ ˆ=˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ=˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ4Ñ Ô Ð Õ Ô ˆ4Ñ Ô Ð Ð Õ Ô ˆ=Ñ Ô Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØŒ9Ð,�Ô,Ð,ˆ9Ð,Ò,Ð,Ð,Ð,Õ,Ô,Ð,Ð,Ð,Ð,ˆ9Ð,Ð,Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,ˆ4Ñ,Ô,Ð,Õ,Ô,ˆ4Ñ,Ô,Ð,Ð,Õ,Ô,ˆ9Ñ,Ô,Ð,Õ,Ô,Ñ,Ô,Ð,Ð,Õ,Ô,�Ñ,Ô,Ð,Õ,Ô,�Ñ,Ô,Ð,Ð,Õ,Ô,Ð,Ñ,Ô,Ð,Ð,Ñ,Ð,Ð,Ð,Ð,Ð,Ñ,Ð,Õ,Õ,Ô,Ð,Ñ,Ô,Ñ,Ô,Ð,Ð,Ð,Ð,Ð,Ð,Ð,ØŒ>Ð"˜UÐ"ˆ>˜UÒ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ>˜UÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ>Ñ"Ô"Õ"Ô"˜UÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"ØŒ?Ð"˜dÐ"ˆ?˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ?˜dÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Õ"Ô"ˆ4Ñ"Ô"Ð"Ð"Õ"Ô"ˆ?Ñ"Ô"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"r   c           	      óž  — t          |dz  | ¬¦  «        }t          j        | t          j        d¬¦  «        }|j        }d} ||¦  «        }|sžddt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}|                     |¦  «        \  }}	}
}d
}||u }|s—t          j        d|fd||f¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}}t          j        }|	|k    }|sßt          j        d|fd|	|f¦  «        dt          j        ¦   «         v st          j        |	¦  «        rt          j	        |	¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}}t          j        } |¦   «         }t          |¦  «        }|
|k    }|�sMt          j        d|fd|
|f¦  «        dt          j        ¦   «         v st          j        |
¦  «        rt          j	        |
¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        nddt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        t          j	        |¦  «        t          j	        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}x}}|j        } ||¦  «        }d
}||u }|sût          j        d|fd ||f¦  «        d!t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd!t          j	        |¦  «        dt          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        ndt          j	        |¦  «        t          j	        |¦  «        d"œz  }d#d$|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}x}}|                     ¦   «         }|j        }d
}||u }|sªt          j        d|fd%||f¦  «        d&t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd&t          j	        |¦  «        t          j	        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}|j        }t          j        }||k    }|sòt          j        d|fd*||f¦  «        d&t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd&t          j	        |¦  «        dt          j        ¦   «         v st          j        t          ¦  «        rt          j	        t          ¦  «        ndt          j	        |¦  «        dœz  }d+d,|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}d-}|j        }||k    }d}||k    }|r|s¿t          j        d.||fd/|||f¦  «        t          j	        |¦  «        d&t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd&t          j	        |¦  «        t          j	        |¦  «        d0œz  }d#d$|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}x}x}}|j        }d	}||u}|sªt          j        d1|fd2||f¦  «        d&t          j        ¦   «         v st          j        |¦  «        rt          j	        |¦  «        nd&t          j	        |¦  «        t          j	        |¦  «        d'œz  }d(d)|iz  }t          t          j        |¦  «        ¦  «        ‚d	x}x}}d	S )3uF   Kiá»ƒm tra License thuÃª bao cÃ³ thá»�i háº¡n (SUBSCRIPTION 30 ngÃ y).r   r   é   )Úduration_dayszPVTK-Sr   r   r   NTr   r   r   r   r!   r"   r#   )z4%(py0)s == %(py4)s
{%(py4)s = %(py2)s.SUBSCRIPTION
}r%   r   r&   r'   r   )ú>)z`%(py0)s > %(py9)s
{%(py9)s = %(py2)s(%(py7)s
{%(py7)s = %(py5)s
{%(py5)s = %(py3)s.time
}()
})
}r(   ÚintÚtime)r   r   r    r"   r3   Úpy9úassert %(py11)sÚpy11r)   r*   r+   r-   r.   r/   r0   r1   r2   r3   )zN%(py2)s
{%(py2)s = %(py0)s.tier
} == %(py6)s
{%(py6)s = %(py4)s.SUBSCRIPTION
}r4   r,   é   )ú<=r`   )z1%(py1)s <= %(py6)s
{%(py6)s = %(py4)s.days_left
}z1%(py6)s
{%(py6)s = %(py4)s.days_left
} <= %(py8)s)Úpy1r   r   r,   )úis not)z6%(py2)s
{%(py2)s = %(py0)s.expires_at
} is not %(py5)s)r   r5   r   ÚSUBSCRIPTIONr7   r8   r9   r:   r;   r<   r=   r>   r?   r@   r[   rZ   rA   rB   rC   r%   rD   rE   )r
   r   r*   r   rF   rG   rH   rI   r   r%   r(   rJ   rK   rL   rM   rN   rO   rQ   Ú@py_assert8Ú@py_format10Ú@py_format12rP   rR   rS   r0   rT   Ú@py_assert0s                              r	   Ú test_subscription_key_validationrh   *   sŽ	  € å	¨(°]Ñ*BÐPYÐ	ZÑ	ZÔ	Z€BÝ
Ô
-¨i½Ô9QÐacÐ
dÑ
dÔ
d€CàŒ>Ð#˜(Ð#ˆ>ˆ>˜(Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Õ#Ô#Ñ#Ô#Ð#Ð#Õ#Ô#ˆ3Ñ#Ô#Ð#Õ#Ô#ˆ3Ñ#Ô#Ð#Ð#Õ#Ô#ˆ>Ñ#Ô#Õ#Ô#˜(Ñ#Ô#Õ#Ô#Ð#Ñ#Ô#Ð#Ð#Ñ#Ð#Õ#Õ#Ô#Ð#Ñ#Ô#Ñ#Ô#Ð#Ð#Ð#Ð#Ð#Ð#Ð#Ø×1Ò1°#Ñ6Ô6Ñ€Eˆ4��cØÐˆ5�Dˆ=ÐÐÐÕÔÐÐÐÐˆ5�DÐÑÔÐÕÔÑÔÐÐÕÔˆ5ÑÔÐÕÔˆ5ÑÔÐÐÕÔ�DÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÝÔ+Ð+ˆ4Ð+Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+ˆ4Ð+Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆ4Ñ+Ô+Ð+Õ+Ô+ˆ4Ñ+Ô+Ð+Ð+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+•;Ñ+Ô+Ð+Õ+Ô+•;Ñ+Ô+Ð+Ð+Õ+Ô+Ð+Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ý”YÐ!�Y�Y‘[”[Ð!•�[Ñ!Ô!Ð!ˆ3Ð!Ò!Ð!Ð!Ñ!Õ!Ô!Ð!Ð!Ð!Ð!ˆ3Ð!Ð!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Õ!Ô!ˆ3Ñ!Ô!Ð!Ð!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!•Ñ!Ô!Ð!Õ!Ô!•Ñ!Ô!Ð!Ð!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!•TÑ!Ô!Ð!Õ!Ô!•TÑ!Ô!Ð!Ð!Õ!Ô!�YÑ!Ô!Õ!Ô!�[Ñ!Ô!Õ!Ô!Ð!Ñ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ð Œ?Ð'ˆ?ˆ?˜3ÑÔÐ' 4Ð'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆ2Ñ'Ô'Ð'Õ'Ô'ˆ2Ñ'Ô'Ð'Ð'Õ'Ô'ˆ?Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'˜3Ñ'Ô'Ð'Õ'Ô'˜3Ñ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ø�?Š?ÑÔ€DØŒ=Ð ˜DÐ ˆ=˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ=˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ4Ñ Ô Ð Õ Ô ˆ4Ñ Ô Ð Ð Õ Ô ˆ=Ñ Ô Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØŒ9Ð0�Ô0Ð0ˆ9Ð0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆ9Ð0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆ4Ñ0Ô0Ð0Õ0Ô0ˆ4Ñ0Ô0Ð0Ð0Õ0Ô0ˆ9Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0�Ñ0Ô0Ð0Õ0Ô0�Ñ0Ô0Ð0Ð0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØÐ%�”Ð%ˆ2�Ò%Ð% 2Ð%� 2Ò%Ð%Ð%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð%ˆ2� 2Ð%Ñ%Ô%Õ%Ô%ˆ2Ñ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô%�Ñ%Ô%Ð%Õ%Ô%�Ñ%Ô%Ð%Ð%Õ%Ô%�Ñ%Ô%Õ%Ô% 2Ñ%Ô%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ØŒ?Ð& $Ð&ˆ? $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ? $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆ4Ñ&Ô&Ð&Õ&Ô&ˆ4Ñ&Ô&Ð&Ð&Õ&Ô&ˆ?Ñ&Ô&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&r   c                 ó,  — t          j        |t          j        ¦  «        }t          |dz  | ¬¦  «        }|                     |¦  «        \  }}}}d}	||	u }
|
s—t          j        d|
fd||	f¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        ndt          j
        |	¦  «        dœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}
}	d}||v }	|	s—t          j        d|	fd||f¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nddœz  }dd	|iz  }t          t          j        |¦  «        ¦  «        ‚d
x}}	d
S )u=   Kiá»ƒm tra key sinh cho mÃ¡y A bá»‹ tá»« chá»‘i trÃªn mÃ¡y B.r   r   Fr   r   r   r   r!   r"   Nu   HWID khÃ¡c biá»‡t©Úin©z%(py1)s in %(py3)srJ   ©ra   r    ©r   r5   r   r6   r?   r:   r@   r8   r9   r;   r<   r=   r>   )r
   r   r   Ú	key_for_bÚlm_ar   r%   r(   rJ   rK   rF   rL   rM   rg   s                 r	   Útest_wrong_hwid_rejectedrq   >   s×  € åÔ3°JÅÔ@TÑUÔU€IÝ¨H°}Ñ,DÐR[Ð\Ñ\Ô\€Dà ×3Ò3°IÑ>Ô>Ñ€Eˆ4��cØÐˆ5�Eˆ>ÐÐÐÕÔÐÐÐÐˆ5�EÐÑÔÐÕÔÑÔÐÐÕÔˆ5ÑÔÐÕÔˆ5ÑÔÐÐÕÔ�EÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØÐ%Ð #Ð%Ð%Ð%Ð%Õ%Ô%Ð%Ð%Ð%Ð%Ð #Ð%Ñ%Ô%Õ%Ô%ÐÑ%Ô%Ð%Õ%Ô%Ñ%Ô%Ð%Ð%Õ%Ô% #Ñ%Ô%Ð%Õ%Ô% #Ñ%Ô%Ð%Ð%Ð%Ð%Ñ%Ð%Ð%Ð%Ð%Ð%Ñ%Ð%Õ%Õ%Ô%Ð%Ñ%Ô%Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%r   c                 ój  — t          j        | t          j        ¦  «        }|d         }|dk    rdnd}|dd…         |z   }t          |dz  | ¬¦  «        }|                     |¦  «        \  }}}	}
d}||u }|s—t          j        d|fd	||f¦  «        d
t          j        ¦   «         v st          j	        |¦  «        rt          j
        |¦  «        nd
t          j
        |¦  «        dœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}d}||
v }|s—t          j        d|fd||
f¦  «        t          j
        |¦  «        dt          j        ¦   «         v st          j	        |
¦  «        rt          j
        |
¦  «        nddœz  }dd|iz  }t          t          j        |¦  «        ¦  «        ‚dx}}dS )um   Kiá»ƒm tra náº¿u ngÆ°á»�i dÃ¹ng tá»± Ã½ sá»­a dÃ¹ chá»‰ 1 kÃ½ tá»± thÃ¬ chá»¯ kÃ½ sá»‘ bá»‹ tá»« chá»‘i ngay.éÿÿÿÿÚ0Ú1Nr   r   Fr   r   r   r   r!   r"   u   Chá»¯ kÃ½ khÃ´ng khá»›prj   rl   rJ   rm   rn   )r
   r   r   Ú	last_charÚtampered_charÚtampered_keyr*   r   r%   r(   rJ   rK   rF   rL   rM   rg   s                   r	   Útest_tampered_key_rejectedry   H   s  € å
Ô
-¨i½Ô9MÑ
NÔ
N€Cà�B”€IØ$¨Ò+Ð+�C�C°€MØ�s˜�s”8˜mÑ+€Lå	¨(°]Ñ*BÐPYÐ	ZÑ	ZÔ	Z€BØ×1Ò1°,Ñ?Ô?Ñ€Eˆ4��cØÐˆ5�Eˆ>ÐÐÐÕÔÐÐÐÐˆ5�EÐÑÔÐÕÔÑÔÐÐÕÔˆ5ÑÔÐÕÔˆ5ÑÔÐÐÕÔ�EÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐØ$Ð+Ð$¨Ð+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+Ð$¨Ð+Ñ+Ô+Õ+Ô+Ð$Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+¨Ñ+Ô+Ð+Õ+Ô+¨Ñ+Ô+Ð+Ð+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r   c                 ój  — t          |dz  | ¬¦  «        }|j        }d} ||¬¦  «        }d}||u }|sÐt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        d	œz  }d
d|iz  }	t          t          j	        |	¦  «        ¦  «        ‚dx}x}x}x}}| 
                    ¦   «         }
|
j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}|
j        }t          j        }||k    }|sòt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        dt	          j        ¦   «         v st          j        t          ¦  «        rt          j        t          ¦  «        ndt          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}|
j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |
¦  «        rt          j        |
¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}dS )u=   Kiá»ƒm tra kÃ­ch hoáº¡t cháº¿ Ä‘á»™ dÃ¹ng thá»­ tá»± Ä‘á»™ng.r   r   é   )ÚhoursTr   )zZ%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.activate_trial
}(hours=%(py4)s)
} is %(py9)sr*   )r   r   r   r   r\   r]   r^   Nr/   r0   r1   r2   r3   r#   )zG%(py2)s
{%(py2)s = %(py0)s.tier
} == %(py6)s
{%(py6)s = %(py4)s.TRIAL
}r   r   r4   r,   r   )ú>=)z1%(py2)s
{%(py2)s = %(py0)s.days_left
} >= %(py5)s)r   Úactivate_trialr:   r@   r8   r9   r;   r<   r=   r>   rB   rC   r%   r   ÚTRIALrD   )r
   r   r*   rF   rG   rH   rd   rP   re   rf   r0   rO   rM   rT   rI   rR   s                   r	   Útest_trial_activationr€   V   s)  € å	¨(°]Ñ*BÐPYÐ	ZÑ	ZÔ	Z€BØÔÐ. 2Ð.ÐÐ 2Ð&Ñ&Ô&Ð.¨$Ð.Ð&¨$Ð.Ð.Ð.Ð.Õ.Ô.Ð.Ð.Ð.Ð.Ð&¨$Ð.Ñ.Ô.Ð.Õ.Ô.Ñ.Ô.Ð.Ð.Õ.Ô.ˆ2Ñ.Ô.Ð.Õ.Ô.ˆ2Ñ.Ô.Ð.Ð.Õ.Ô.ÐÑ.Ô.Õ.Ô. 2Ñ.Ô.Õ.Ô.Ð&Ñ.Ô.Õ.Ô.¨$Ñ.Ô.Ð.Ð.Ñ.Ð.Ð.Ð.Ð.Ð.Ñ.Ð.Õ.Õ.Ô.Ð.Ñ.Ô.Ñ.Ô.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.Ð.à�?Š?ÑÔ€DØŒ=Ð ˜DÐ ˆ=˜DÐ Ð Ð Ð Õ Ô Ð Ð Ð Ð ˆ=˜DÐ Ñ Ô Ð Õ Ô Ñ Ô Ð Ð Õ Ô ˆ4Ñ Ô Ð Õ Ô ˆ4Ñ Ô Ð Ð Õ Ô ˆ=Ñ Ô Õ Ô ˜DÑ Ô Ð Ð Ñ Ð Ð Ð Ð Ð Ñ Ð Õ Õ Ô Ð Ñ Ô Ñ Ô Ð Ð Ð Ð Ð Ð Ð ØŒ9Ð)�Ô)Ð)ˆ9Ð)Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆ9Ð)Ð)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆ4Ñ)Ô)Ð)Õ)Ô)ˆ4Ñ)Ô)Ð)Ð)Õ)Ô)ˆ9Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)�Ñ)Ô)Ð)Õ)Ô)�Ñ)Ô)Ð)Ð)Õ)Ô)Ð)Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØŒ>Ð˜QÐˆ>˜QÒÐÐÐÕÔÐÐÐÐˆ>˜QÐÑÔÐÕÔÑÔÐÐÕÔˆ4ÑÔÐÕÔˆ4ÑÔÐÐÕÔˆ>ÑÔÕÔ˜QÑÔÐÐÑÐÐÐÐÐÑÐÕÕÔÐÑÔÑÔÐÐÐÐÐÐÐÐÐr   )Ú__doc__Úbuiltinsr8   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter:   r[   Úpathlibr   ÚpytestÚsrc.commercial.license_managerr   r   Úfixturer
   r   rU   rh   rq   ry   r€   r   r   r	   ú<module>rŠ      s2  ððð ð
 € € € € € € € € € € € € €€€€Ø Ð Ð Ð Ð Ð Ø €€€Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ Fð „ð%ð %ñ „ð%ð „ð%ð %ñ „ð%ð#°dð #ð #ð #ð #ð('¸$ð 'ð 'ð 'ð 'ð(&¸dð &ð &ð &ð &ð,°Dð ,ð ,ð ,ð ,ð¨tð ð ð ð ð ð r   