+
    Ñ6‡jè&  ã                   óÌ   € R t RsRR R lltR R lt. ^ 3R R llt. ^ 3R R	 llt^ R
I5 R R lt^ R
I5 R R lt	^ R
I
5 R R lt^ R
I5 R R lt^ R
I5 R R ltR R ltR# )ai  
Author:     Sai Vignesh Golla
LinkedIn:   https://www.linkedin.com/in/saivigneshgolla/

Copyright (c) 2024-2026 Sai Vignesh Golla

License:    MIT License
            https://opensource.org/license/mit
            
GitHub:     https://github.com/GodsScion/Auto_job_applier_linkedIn

Support me: https://github.com/sponsors/GodsScion

version:    26.01.20.5.08
Ú c          	      ót   € V ^8„  d   QhR\         R\        R\         R\        \        ,          \        ,          /# )é   ÚvarÚvar_nameÚ	min_valueÚreturn)ÚintÚstrÚboolÚ	TypeErrorÚ
ValueError)Úformats   "Úkc:\Users\sakin\Downloads\Auto_job_applier_linkedIn-main\Auto_job_applier_linkedIn-main\modules\validator.pyÚ__annotate__r      s2   € ÷ ñ ”3ð ¤#ð ´#ð ¼DÄ9Õ<LÌzÕ<Yñ ó    c                 óî   € \        V \        4      '       g3   \        R V R\         RV  R\	        V 4       R\         RV RV R24      hW8  d'   \        R V R\         RV R	V  R
\         RV R24      hR# )úThe variable "ú" in "z " must be an Integer!
Received "ú" of type "ú#" instead!

Solution:
Please open "ú" and update "z" to be an Integer.
Example: `zB = 10`

NOTE: Do NOT surround Integer values in quotes ("10")X !

z/" expects an Integer greater than or equal to `z`! Received `z#` instead!

Solution:
Please open "z" accordingly.T)Ú
isinstancer	   r   Ú__validation_file_pathÚtyper   )r   r   r   s   &&&r   Ú	check_intr      s4  € Ü�cœ3×Ò¤y°>À(ÀÈ6ÔRhÐQið  jKð  LOð  KPð  P[ô  \`ð  adó  \eð  [fð  fLô  Mcð  Ldð  drð  s{ð  r|ð  |[ð  \dð  [eð  ekð  2ló  (mð  "mØ
„œj¨>¸(¸À6ÔJ`ÐIað  bQð  R[ð  Q\ð  \ið  jmð  inð  nTô  Ukð  Tlð  lzð  {Cð  zDð  DRð  *Só  Tð  TÙr   c                óR   € V ^8„  d   QhR\         R\        R\         \        ,          /# )r   r   r   r   )r   r
   r   )r   s   "r   r   r      s+   € ÷ eñ e”tð e¤sð e¬t´jÕ/@ñ er   c                 ó†   € V R 8X  g   V R8X  d   R # \        RV R\         RV  R\        V 4       R\         RV RV R	24      h)
TFr   r   z2" expects a Boolean input `True` or `False`, not "r   r   r   z]" to either `True` or `False` (case-sensitive, T and F must be CAPITAL/uppercase).
Example: `zF = True`

NOTE: Do NOT surround Boolean values in quotes ("True")X !

)r   r   r   )r   r   s   &&r   Úcheck_booleanr      s®   € Ø
ˆd„{�c˜U”l©4Ü
�~ h Z¨vÔ6LÐ5MÐMð  ADð  @Eð  EPô  QUð  VYó  QZð  P[ð  [Aô  BXð  AYð  Ygð  hpð  gqð  qOð  PXð  OYð  Ycð  dó  eð  er   c                ó€   € V ^8„  d   QhR\         R\         R\        R\        R\        \        ,          \
        ,          /# ©r   r   r   ÚoptionsÚ
min_lengthr   )r
   Úlistr	   r   r   r   )r   s   "r   r   r   !   s<   € ÷ ñ ”cð ¤Sð ´4ð Ìð ÔRVÔYbÕRbÔeoÕRoñ r   c           	      óø   € \        V \        4      '       g   \        R V R24      hV^ 8”  d#   \        V 4      V8  d   \	        R V RV R24      h\        V4      ^ 8”  d   W9  d   \	        R V RV RV  R24      hR# )úInvalid input for z. Expecting a String!z(. Expecting a String of length at least Ú!z. Expecting a value from z, not T)r   r
   r   Úlenr   )r   r   r!   r"   s   &&&&r   Úcheck_stringr(   !   sÏ   € Ü�cœ3×Ò¤yÐ3EÀhÀZÐOdÐ1eÓ'fÐ!fØ�A„~œ#˜c›( ZÔ/´zÐDVÐW_ÐV`ð  aIð  JTð  IUð  UVð  CWó  8Xð  2XÜ
ˆ7ƒ|�aÔ˜CÔ.´jÐCUÐV^ÐU_Ð_xð  zAð  yBð  BHð  ILð  HMð  MNð  BOó  7Pð  1PÙr   c                ó€   € V ^8„  d   QhR\         R\        R\         R\        R\        \        ,          \
        ,          /# r    )r#   r
   r	   r   r   r   )r   s   "r   r   r   '   s<   € ÷ ñ ”Dð ¤Cð ´$ð Äsð ÔQUÔXaÕQaÔdnÕQnñ r   c           
      óJ  € \        V \        4      '       g   \        R V R24      h\        V 4      V8  d   \	        R V RV R24      hV  FU  p\        V\
        4      '       g   \        R V R24      h\        V4      ^ 8”  g   K:  WB9  g   KB  \	        R V RV RV R24      h	  R# )	r%   z. Expecting a List!z&. Expecting a List of length at least r&   z+. All elements in the list must be strings!z+. Expecting all elements to be values from z. This "z" is NOT in options!T)r   r#   r   r'   r   r
   )r   r   r!   r"   Úelements   &&&& r   Ú
check_listr,   '   sú   € Ü�cœ4× Ò ÜÐ,¨X¨JÐ6IÐJÓKÐKÜ
ˆ3ƒx�*Ô¤JÐ1CÀHÀ:ÐMsÐt~Ðsð  @Að  0Bó  %Cð  CÛˆÜ˜'¤3×'Ò'¬yÐ;MÈhÈZð  XCð  :Dó  0Eð  *EÜˆw‹<˜!Ö Ö 6¼jÐK]Ð^fÐ]gð  hSð  T[ð  S\ð  \dð  elð  dmð  mAð  JBó  ?Cð  9Cñ ñ r   )Ú*c                óH   € V ^8„  d   QhRR\         ,          \        ,          /# ©r   r   N©r   r   )r   s   "r   r   r   3   s    € ÷ Mñ M˜D¤:Õ-´	Õ9ñ Mr   c                 óÒ  € Rs \        \        R^R7       \        \        R4       \        \        R^R7       \        \
        R^
R7       \        \        R4       \        \        R4       \        \        R	4       \        \        R
4       \        \        R4       \        \        R. RO^ R7       \        \        R. RO4       \        \        R. RO4       \        \        R. RO4       R# )z=
Validates all variables in the `/config/personals.py` file.
zconfig/personals.pyÚ
first_name©r"   Úmiddle_nameÚ	last_nameÚphone_numberÚcurrent_cityÚstreetÚstateÚzipcodeÚcountryÚ	ethnicityÚgenderÚdisability_statusÚveteran_statusN)ÚDeclinezHispanic/Latinoz American Indian or Alaska NativeÚAsianzBlack or African Americanz)Native Hawaiian or Other Pacific IslanderÚWhiteÚOther)ÚMaleÚFemalerC   r@   r   )ÚYesÚNor@   )r   r(   r2   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   © r   r   Úvalidate_personalsrI   3   s®   € ð
 3Ðä”˜\°aÕ8Ü”˜mÔ,Ü”˜K°AÕ6ä”˜~¸"Õ=ä”˜~Ô.ä”˜Ô"Ü”˜Ô Ü”˜)Ô$Ü”˜)Ô$ä”˜Kò  *Qð  _`õ  aÜ”˜Ò#MÔNÜÔ"Ð$7Ò9QÔRÜ”Ð!1Ò3KÖLr   c                óH   € V ^8„  d   QhRR\         ,          \        ,          /# r/   r0   )r   s   "r   r   r   O   s    € ÷ Lñ L˜D¤:Õ-´	Õ9ñ Lr   c                 ó6  € Rs \        \        R4       \        \        R4       \        \        RRR.4       \        \
        R4       \        \        R4       \        \        R	4       \        \        R
. RO4       \        \        R4       \        \        R4       \        \        R4       \        \        R4       \        \        R4       \        \        R4       \        \         R4       \#        \$        R4       \#        \&        R4       \#        \(        R4       R# )z=
Validates all variables in the `/config/questions.py` file.
zconfig/questions.pyÚdefault_resume_pathÚyears_of_experienceÚrequire_visarF   rG   ÚwebsiteÚlinkedInÚdesired_salaryÚus_citizenshipÚlinkedin_headlineÚnotice_periodÚcurrent_ctcÚlinkedin_summaryÚcover_letterÚrecent_employerÚconfidence_levelÚpause_before_submitÚpause_at_failed_questionÚoverwrite_previous_answersN)zU.S. Citizen/Permanent Residentz,Non-citizen allowed to work for any employerz0Non-citizen allowed to work for current employerz&Non-citizen seeking work authorizationz#Canadian Citizen/Permanent ResidentrC   )r   r(   rL   rM   rN   rO   rP   r   rQ   rR   rS   rT   rU   rV   rW   rX   rY   r   rZ   r[   r\   rH   r   r   Úvalidate_questionsr]   O   sÖ   € ð
 3ÐäÔ$Ð&;Ô<ÜÔ$Ð&;Ô<Ü”˜~°°t¨}Ô=Ü”˜)Ô$Ü”˜:Ô&ÜŒnÐ.Ô/Ü”Ð!1ò  4Uô  VÜÔ"Ð$7Ô8ÜŒm˜_Ô-ÜŒk˜=Ô)ÜÔ!Ð#5Ô6Ü”˜~Ô.Ü”Ð"3Ô4ÜÔ!Ð#5Ô6äÔ%Ð'<Ô=ÜÔ*Ð,FÔGÜÔ,Ð.JÖKr   c                óH   € V ^8„  d   QhRR\         ,          \        ,          /# r/   r0   )r   s   "r   r   r   k   s   € ÷ )<ñ )<˜¤
Õ*¬YÕ6ñ )<r   c                 ó°  € Rs \        \        R^R7       \        \        R4       \        \        R^4       \        \        R4       \        \        R. R O4       \        \        R. R!O4       \        \        R	4       \        \        R
4       \        \        R. R"O4       \        \        R. R#O4       \        \        R. R$O4       \        \         R4       \        \"        R4       \        \$        R4       \        \&        R4       \        \(        R4       \        \*        R4       \        \,        R4       \        \.        R4       \        \0        R4       \        \2        R4       \        \4        R4       \        \6        R4       \        \8        R4       \        \:        R4       \        \<        R4       \        \>        R4       \        \@        RR%4       R# )&z:
Validates all variables in the `/config/search.py` file.
zconfig/search.pyÚsearch_termsr3   Úsearch_locationÚswitch_numberÚrandomize_search_orderÚsort_byÚdate_postedÚsalaryÚeasy_apply_onlyÚexperience_levelÚjob_typeÚon_siteÚ	companiesÚlocationÚindustryÚjob_functionÚ
job_titlesÚbenefitsÚcommitmentsÚunder_10_applicantsÚin_your_networkÚfair_chance_employerÚpause_after_filtersÚabout_company_bad_wordsÚabout_company_good_wordsÚ	bad_wordsÚsecurity_clearanceÚdid_mastersÚcurrent_experienceN)r   zMost recentzMost relevant)r   zAny timez
Past monthz	Past weekzPast 24 hours)Ú
InternshipzEntry levelÚ	AssociatezMid-Senior levelÚDirectorÚ	Executive)z	Full-timez	Part-timeÚContractÚ	TemporaryÚ	Volunteerr|   rC   )zOn-siteÚRemoteÚHybridéÿÿÿÿ)!r   r,   r`   r(   ra   r   rb   r   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   rH   r   r   Úvalidate_searchr†   k   sR  € ð
 0ÐäŒ|˜^¸Õ:Ü”Ð"3Ô4ÜŒm˜_¨aÔ0ÜÔ(Ð*BÔCä”˜)Ò%IÔJÜ”˜mÒ-iÔjÜ”˜Ô"ä”/Ð#4Ô5äÔÐ!3ò  6Mô  NÜŒx˜Ò%|Ô}ÜŒw˜	Ò#BÔCäŒy˜+Ô&ÜŒx˜Ô$ÜŒx˜Ô$ÜŒ|˜^Ô,ÜŒz˜<Ô(ÜŒx˜Ô$ÜŒ{˜MÔ*äÔ%Ð'<Ô=Ü”/Ð#4Ô5ÜÔ&Ð(>Ô?äÔ%Ð'<Ô=äÔ&Ð(AÔBÜÔ'Ð)CÔDÜŒy˜+Ô&ÜÔ$Ð&:Ô;Ü”+˜}Ô-ÜÔ Ð"6¸Ö;r   c                óH   € V ^8„  d   QhRR\         ,          \        ,          /# r/   r0   )r   s   "r   r   r   š   s   € ÷ )ñ )˜$¤Õ+¬iÕ7ñ )r   c                 óü   € Rs \        \        R^R7       \        \        R^R7       \	        \
        R4       \        \        R^R7       \        \        R4       \        \        R. RO4       \        \        R	4       R
# )z;
Validates all variables in the `/config/secrets.py` file.
zconfig/secrets.pyÚusernamer3   ÚpasswordÚuse_AIÚllm_api_urlÚllm_api_keyÚai_providerÚ	llm_modelN)ÚopenaiÚdeepseekÚgemini)
r   r(   r‰   rŠ   r   r‹   rŒ   r�   rŽ   r�   rH   r   r   Úvalidate_secretsr“   š   sY   € ð
 1Ðä”˜:°!Õ4Ü”˜:°!Õ4ä”&˜(Ô#Ü”˜m¸Õ:Ü”˜mÔ,Ü”˜mÒ-MÔNÜ”˜KÖ(r   c                óH   € V ^8„  d   QhRR\         ,          \        ,          /# r/   r0   )r   s   "r   r   r   ¬   s   € ÷ <ñ <˜4¤*Õ,¬yÕ8ñ <r   c                 ó  € Rs \        \        R4       \        \        R4       \        \        R4       \        \
        R4       \        \        R4       \        \        R4       \        \        R^R	7       \        \        R
^R	7       \        \        R^R	7       \        \        R^ 4       \        \        R4       \        \        R4       \        \         R4       \        \"        R4       \        \$        R4       \        \&        R4       R# )z<
Validates all variables in the `/config/settings.py` file.
zconfig/settings.pyÚ
close_tabsÚfollow_companiesÚrun_non_stopÚalternate_sortbyÚcycle_date_postedÚstop_date_cycle_at_24hrÚ	file_namer3   Úfailed_file_nameÚlogs_folder_pathÚ	click_gapÚrun_in_backgroundÚdisable_extensionsÚ	safe_modeÚsmooth_scrollÚkeep_screen_awakeÚauto_manage_driverN)r   r   r–   r—   r˜   r™   rš   r›   r(   rœ   r�   rž   r   rŸ   r    r¡   r¢   r£   r¤   r¥   rH   r   r   Úvalidate_settingsr¦   ¬   sÊ   € ð
 2Ðä”*˜lÔ+ÜÔ"Ð$6Ô7ô ”, Ô/ÜÔ"Ð$6Ô7ÜÔ#Ð%8Ô9ÜÔ)Ð+DÔEô ”˜K°AÕ6ÜÔ!Ð#5À!ÕDÜÔ!Ð#5À!ÕDäŒi˜ aÔ(äÔ#Ð%8Ô9ÜÔ$Ð&:Ô;Ü”)˜[Ô)Ü”- Ô1ÜÔ#Ð%8Ô9ÜÔ$Ð&:Ö;r   c                óP   € V ^8„  d   QhR\         \        ,          \        ,          /# )r   r   )r   r   r   )r   s   "r   r   r   Ï   s   € ÷ ñ œ¤
Õ*¬YÕ6ñ r   c                 ój   € \        4        \        4        \        4        \        4        \	        4        R# )zN
Runs all validation functions to validate all variables in the config files.
T)rI   r]   r†   r“   r¦   rH   r   r   Úvalidate_configr©   Ï   s'   € ô ÔÜÔÜÔÜÔÜÔñ
 r   N)é    )Ú__doc__r   r   r   r(   r,   Úconfig.personalsrI   Úconfig.questionsr]   Úconfig.searchr†   Úconfig.secretsr“   Úconfig.settingsr¦   r©   rH   r   r   Ú<module>r±      sp   ðñð* Ð ÷õ
eð 9;ÈA÷ ð 8:È1÷ ô õMô6 õLô6 õ)<ô\ õ)ô" õ<÷Fr   