+
    "i                    
   R t ^ RIHt ^ RIHt ^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIt^RIHt ] ! R	 R
4      4       tR R lt]P*                  ! ]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P,                  ! R4      ]]P2                  ! R4      ]/
]P4                  R7      t]P*                  ! ]P2                  ! R4      ]]P2                  ! R4      ]]P2                  ! R4      ]]P2                  ! R4      ]]P2                  ! R4      ]]P2                  ! R4      ]P:                  ! ]4      /]P<                  R7      tR R lt R R  lt!]P2                  ! R!4      ]P                  ! ]R4      ]P,                  ! R"4      ]"]P,                  ! R#4      ]]P2                  ! R$4      ]]P2                  ! R%4      ]]P,                  ! R&4      ]]P2                  ! R'4      ]P                  ! ]"]#4      ]P2                  ! R(4      ]]P,                  ! R)4      ]]P,                  ! R*4      ]]P2                  ! R+4      ]P,                  ! R4      ]P                  ! ].R,4      ]P,                  ! R4      ]/]P,                  ! R-4      ]"]P,                  ! R.4      ]"]P,                  ! R/4      ]./t$/ ]$C]P2                  ! R4      ]]P2                  ! R04      ]/Ct%R1]$R2]%R3]$R4]$R5]$R6]$/t&]&PO                  4        U Uu/ uF  w  rV ] ! V]PP                  4      bK  	  upp t)]&PO                  4        U Uu/ uF*  w  rV ]P+                  ]] ! V]P4                  4      /4      bK,  	  upp t*]P2                  ! R74      ]]P2                  ! R84      ]]P2                  ! R94      ]/t+]P*                  ! ]+]PP                  R7      t,]P*                  ! ]P*                  ! ]+]P4                  R7      .4      t-]P,                  ! R74      ]]P,                  ! R84      ]]P2                  ! R:4      ]P\                  ! . R;O4      ]P2                  ! R94      ]/t/]P*                  ! ]/]PP                  R7      t0]P*                  ! ]P*                  ! ]/]P4                  R7      .4      t1R# u upp i u upp i )<zValidation utilities.)annotations)Callable)	dataclassfield)Any)AwesomeVersion)urlN)LOCALEc                  N    ] tR t^t$ Rt]! ]R7      tR]R&   ]	R R l4       t
RtR# )	Validatez	Validate.)default_factory	list[str]errorsc                   V ^8  d   QhRR/# )   returnbool )formats   "0/config/custom_components/hacs/utils/validate.py__annotate__Validate.__annotate__   s     % % %    c                2    \        V P                  4      ^ 8H  # )z,Return bool if the validation was a success.)lenr   )selfs   &r   successValidate.success   s     4;;1$$r   r   N)__name__
__module____qualname____firstlineno____doc__r   listr   __annotations__propertyr   __static_attributes__r   r   r   r   r      s&    d3FI3% %r   r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r      s      ) r   c                   . p\        V \        4      '       d!   VP                  V P                  4       4       M\\        V \        4      '       d*   V  F"  pVP                  VP                  4       4       K$  	  M\
        P                  ! RV  R2R.R7      hV F2  pV\        9  g   K  \
        P                  ! RV R\         R2R.R7      h	  V# )zCustom country validator.zValue 'z' is not a string or list.country)pathz' is not in .)
isinstancestrappendupperr#   volInvalidr	   )values	countriesvaluer)   s   &   r   _country_validatorr5      s    I&#(	FD	!	!EU[[]+  kkGF8+EFi[YY& ++yVHAFi[YY  r   content_in_rootr)   filenamehacshide_default_branchhomeassistantpersistent_directoryrender_readmezip_releasenameextra
codeownersdocumentationdomainissue_trackerversionc               $    V ^8  d   QhRRRRRR/# )r   schemazdict[str, Any]r@   intr   zCallable[[Any], Any]r   )r   s   "r   r   r   K   s"      ~ c >R r   c                H   a \         P                  ! WR7      oR V3R llpV# )zReturn a validator for repo data.

This is used instead of vol.All to always try both the repo schema and
and the validate_version validator.
r?   c                    V ^8  d   QhRRRR/# r   datar   r   r   )r   s   "r   r   (validate_repo_data.<locals>.__annotate__S   s        r   c                
  < Rp S! V 4        \        V 4       T'       d   ThT #   \         P                   d   pTp Rp?L4Rp?ii ; i  \         P                   d%   pT'       d   TP	                  T4        Rp?Lch Rp?ii ; i)zValidate integration repo data.N)r0   MultipleInvalidvalidate_versionr1   add)rL   schema_errorserr_schemas   &  r   validate_repo_data.validate_repo_data.<locals>.validate_repo_dataS   sz    48	 DM	T"  "" 	 M	  {{ 	!!#&&		s1   % A	 AAA	BA=<A==B)r0   Schema)rG   r@   rU   rT   s   && @r   rU   rU   K   s%     jj-G $ r   c                    V ^8  d   QhRRRR/# rK   r   )r   s   "r   r   r   h   s      3 3 r   c                N    RV 9  d   RV 9  d   \         P                  ! R4      hV # )z>Ensure at least one of last_commit or last_version is present.last_commitlast_versionzBExpected at least one of [`last_commit`, `last_version`], got none)r0   r1   )rL   s   &r   rP   rP   h   s&    D ^4%?kk^__Kr   description	downloadsetag_releasesetag_repository	full_namerZ   last_fetchedlast_updatedr[   
prereleasemanifestFopen_issuesstargazers_counttopicsmanifest_name	appdaemonintegrationpluginpython_scripttemplatethemelinkreason
repositoryremoval_type)z3Integration is missing a version, and is abandoned.Removearchived	blacklistcritical
deprecatedremovalremoveremovedreplacedrq   )2r"   
__future__r   collections.abcr   dataclassesr   r   typingr   awesomeversionr   'homeassistant.helpers.config_validationr   url_validator
voluptuousr0   constr	   r   r5   rW   Optionalr   r-   RequiredPREVENT_EXTRAHACS_MANIFEST_JSON_SCHEMAr#   CoerceALLOW_EXTRA INTEGRATION_MANIFEST_JSON_SCHEMArU   rP   rH   floatV2_COMMON_DATA_JSON_SCHEMAV2_INTEGRATION_DATA_JSON_SCHEMA_V2_REPO_SCHEMASitemsREMOVE_EXTRAVALIDATE_FETCHED_V2_REPO_DATAVALIDATE_GENERATED_V2_REPO_DATAV2_CRITICAL_REPO_DATA_SCHEMA(VALIDATE_FETCHED_V2_CRITICAL_REPO_SCHEMA*VALIDATE_GENERATED_V2_CRITICAL_REPO_SCHEMAInV2_REMOVED_REPO_DATA_SCHEMA'VALIDATE_FETCHED_V2_REMOVED_REPO_SCHEMA)VALIDATE_GENERATED_V2_REMOVED_REPO_SCHEMA)categoryrG   s   00r   <module>r      s    " $ (  ) H   % % %$  JJ&'Y!3Z #Vc*+T_%s+,c_%t]#TVc 

   $'::\"D_%}X_%}VcYN!; //
$  : LLd!3LLsLL!3LL"#SLLsLLLL #''#u"5LL #LL #LLLLY#!6Vc LLLL#$cLLSE# (# #LLCLL!3#  +2(/*'  -224!4  )9)9::4!  -224#4 cjj#1&#:K:KLMNN4#  LL#LLCLL   ,/:: 


, ( .1ZZ

(##	
. * LL#LLCLL #&&	
# LL% , +.**


+ ' -0JJ

'##	
- ){!#s   "S<0T