+
    VjE                       a Rl tx0 t R t^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHtHtHt ^ RIHtHt ^ RIt^ RIHtHtHtHt Rmt]P.                  R#,          Rn8H  tR$ R% ltR& R' lt]! R(R4      tR)]n        ]! R*R4      tR+]n        ]! R,R4      tR-]n        ]! R.R	4      tR/]n        ]! R0R
4      tR1]n        ]! R2R4      t R3] n        ]! R4R4      t!R5]!n        ]! R6R4      t"R7]"n        ]! R8R4      t#R9]#n        ]! R:R4      t$R;]$n        ]! R<R 4      t%R=]%n        ]! R>R!4      t&R?]&n        R@ RA lt']! RBR4      t(RC](n        ]! RDR4      t)RE])n        ]! RFR4      t*RG]*n        ]! RHR4      t+RI]+n        ]! RJR4      t,RK],n        ]! RLR4      t-RM]-n        ]! RNR4      t.RO].n        ]! RPR4      t/RQ]/n        ]! RRR4      t0RS]0n        ]! RTR4      t1RU]1n        ]! RVR4      t2RW]2n        ]! RXR4      t3RY]3n        ]! RZR4      t4R[]4n        ]! R\R4      t5R]]5n        ]! R^R4      t6R_]6n        ]! R`Ra4      t7]'       d   Rb Rc lt8M	]! R`R4      t8Rd]8n        ]! ReR"4      t9Rf]9n        ]P.                  Ro8  d    ]P*                  ]P*                  3t:Rg Rh lt;M]P*                  t<Ri Rj lt;Rk];n        / ]Pz                  ]P|                  Pz                  b]P~                  ]P|                  P~                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b/ ]P                  ]P|                  P                  b]P                  ]Rb]P                  ]Tb]P                  ]P                  b]P                  ]Wb]P                  ]Yb]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  b]P                  ]_b]P                  ]P                  b]P                  ]P                  b]P                  ]P                  b]P                  ]P                  b]P                  ]P|                  P                  b]P                  ]P|                  P                  bC]P                  ]h]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  ]P                  /Cto] ^ k  ]oP                  4        U Uu/ uF  w  r]q! V 4      VbK  	  upp tr] ^k  ]T! ]oP                  4       4       F%  w  tstt]u! ]]sP                  R4      ;twf   K   ]t]o]w&   K'  	  R# u upp i )pzLow-level introspection utilities for [`typing`][] members.

The provided functions in this module check against both the [`typing`][] and [`typing_extensions`][]
variants, if they exists and are different.
N)dedent)FunctionTypeGenericAliasNoneType)AnyFinal)LiteralStringTypeAliasTypeTypeIs
deprecatedis_annotatedis_anyis_classvaris_concatenateis_finalis_forwardref
is_generic
is_literalis_literalstringis_never
is_newtypeis_nodefaultis_noextraitemsis_noreturnis_notrequiredis_paramspecis_paramspecargsis_paramspeckwargsis_readonlyis_requiredis_selfis_typealiasis_typealiastypeis_typeguard	is_typeis
is_typevaris_typevartupleis_union	is_unpack:N   Nc                <    V ^8  d   QhR\         R\         R\        /# r)   memberfunction_namereturnr   r   )formats   "ډ/home/vela/workspace/domain/tn-silver/web/tn-site/.runtime/imagegen-venv/lib/python3.14/site-packages/typing_inspection/typing_objects.py__annotate__r2   =   s"     4" 4"] 4"= 4"]i 4"    c                   \        \        V 4      p\        \        V 4      pR\        /pV'       d@   V'       d8   \	        \        V 4      p\	        \        V 4      pWVJ d   WTR&   RpMYWTR&   WdR&   RpMNV'       d   V'       g   \	        \        V 4      VR&   RpM(V'       g   V'       d   \	        \        V 4      VR&   RpMRp\        RV R	V R
24      p/ p	\        WV	4       W,          # )a;  Create a function checking that the function argument is the (unparameterized) typing `member`.

The function will make sure to check against both the `typing` and `typing_extensions`
variants as depending on the Python version, the `typing_extensions` variant might be different.
For instance, on Python 3.9:

```pycon
>>> from typing import Literal as t_Literal
>>> from typing_extensions import Literal as te_Literal, get_origin

>>> t_Literal is te_Literal
False
>>> get_origin(t_Literal[1])
typing.Literal
>>> get_origin(te_Literal[1])
typing_extensions.Literal
```
r   _objzobj is _obj_t_obj_te_objzobj is _t_obj or obj is _te_objFalse	
    def z&(obj: Any, /) -> bool:
        return 
    hasattrtypingtyping_extensionsr   getattrr   exec
r,   r-   	in_typingin_typing_extensionsglobals_t_objte_obj
check_code	func_codelocals_s
   &&        r1    _compile_identity_check_functionrJ   =   s    & 'I"#4f= %s|H) '*F3?$V&J!&X"(Y:J	/"662"
/"#4f="

 		 |  	I
 !Gg&!!r3   c                <    V ^8  d   QhR\         R\         R\        /# r+   r/   )r0   s   "r1   r2   r2   t   s"     &" &"} &"] &"_k &"r3   c           	        \        \        V 4      p\        \        V 4      pR\        /pV'       d>   V'       d6   \	        \        V 4      p\	        \        V 4      pWVJ d   WTR&   RpMWWV3VR&   RpMNV'       d   V'       g   \	        \        V 4      VR&   RpM(V'       g   V'       d   \	        \        V 4      VR&   RpMRp\        RV RV  R	V R
24      p/ p	\        WV	4       W,          # )a  Create a function checking that the function is an instance of the typing `member`.

The function will make sure to check against both the `typing` and `typing_extensions`
variants as depending on the Python version, the `typing_extensions` variant might be different.
r   r5   zisinstance(obj, _obj)_objszisinstance(obj, _objs)r8   r9   z(obj: Any, /) -> 'TypeIs[z]':
        return r:   r;   rA   s
   &&        r1   "_compile_isinstance_check_functionrN   t   s     'I"#4f= %s|H) '*F3?$V0J!&HW1J	/"662,
/"#4f=,

 		0 9|  	I
 !Gg&!!r3   	Annotatedz
Return whether the argument is the [`Annotated`][typing.Annotated] [special form][].

```pycon
>>> is_annotated(Annotated)
True
>>> is_annotated(Annotated[int, ...])
False
```
r   zm
Return whether the argument is the [`Any`][typing.Any] [special form][].

```pycon
>>> is_any(Any)
True
```
ClassVarz
Return whether the argument is the [`ClassVar`][typing.ClassVar] [type qualifier][].

```pycon
>>> is_classvar(ClassVar)
True
>>> is_classvar(ClassVar[int])
>>> False
```
Concatenatez
Return whether the argument is the [`Concatenate`][typing.Concatenate] [special form][].

```pycon
>>> is_concatenate(Concatenate)
True
>>> is_concatenate(Concatenate[int, P])
False
```
r   z
Return whether the argument is the [`Final`][typing.Final] [type qualifier][].

```pycon
>>> is_final(Final)
True
>>> is_final(Final[int])
False
```

ForwardRefz
Return whether the argument is an instance of [`ForwardRef`][typing.ForwardRef].

```pycon
>>> is_forwardref(ForwardRef('T'))
True
```
Genericz
Return whether the argument is the [`Generic`][typing.Generic] [special form][].

```pycon
>>> is_generic(Generic)
True
>>> is_generic(Generic[T])
False
```
Literalz
Return whether the argument is the [`Literal`][typing.Literal] [special form][].

```pycon
>>> is_literal(Literal)
True
>>> is_literal(Literal["a"])
False
```
	ParamSpecz
Return whether the argument is an instance of [`ParamSpec`][typing.ParamSpec].

```pycon
>>> P = ParamSpec('P')
>>> is_paramspec(P)
True
```
TypeVarz
Return whether the argument is an instance of [`TypeVar`][typing.TypeVar].

```pycon
>>> T = TypeVar('T')
>>> is_typevar(T)
True
```
TypeVarTuplez
Return whether the argument is an instance of [`TypeVarTuple`][typing.TypeVarTuple].

```pycon
>>> Ts = TypeVarTuple('Ts')
>>> is_typevartuple(Ts)
True
```
Uniona  
Return whether the argument is the [`Union`][typing.Union] [special form][].

This function can also be used to check for the [`Optional`][typing.Optional] [special form][],
as at runtime, `Optional[int]` is equivalent to `Union[int, None]`.

```pycon
>>> is_union(Union)
True
>>> is_union(Union[int, str])
False
```

!!! warning
    This does not check for unions using the [new syntax][types-union] (e.g. `int | str`).
c                0    V ^8  d   QhR\         R\        /# )r)   objr.   )r   bool)r0   s   "r1   r2   r2   9  s     X Xs X$ Xr3   c               z    \        V \        4      ;'       d%    \        V \        4      ;'       d    \	        V R4      # )a  Return whether the argument is a named tuple type.

This includes [`NamedTuple`][typing.NamedTuple] subclasses and classes created from the
[`collections.namedtuple`][] factory function.

```pycon
>>> class User(NamedTuple):
...     name: str
...
>>> is_namedtuple(User)
True
>>> City = collections.namedtuple('City', [])
>>> is_namedtuple(City)
True
>>> is_namedtuple(NamedTuple)
False
```
_fields)
isinstancetype
issubclasstupler<   rZ   s   "r1   is_namedtuplerc   9  s/    & c4 WWZU%;WWY@WWr3   r   z
Return whether the argument is the [`LiteralString`][typing.LiteralString] [special form][].

```pycon
>>> is_literalstring(LiteralString)
True
```
Neverzu
Return whether the argument is the [`Never`][typing.Never] [special form][].

```pycon
>>> is_never(Never)
True
```
NewTypez
Return whether the argument is a [`NewType`][typing.NewType].

```pycon
>>> UserId = NewType("UserId", int)
>>> is_newtype(UserId)
True
```
	NoDefaultz
Return whether the argument is the [`NoDefault`][typing.NoDefault] sentinel object.

```pycon
>>> is_nodefault(NoDefault)
True
```
NoExtraItemszy
Return whether the argument is the `NoExtraItems` sentinel object.

```pycon
>>> is_noextraitems(NoExtraItems)
True
```
NoReturnz
Return whether the argument is the [`NoReturn`][typing.NoReturn] [special form][].

```pycon
>>> is_noreturn(NoReturn)
True
>>> is_noreturn(Never)
False
```
NotRequiredz
Return whether the argument is the [`NotRequired`][typing.NotRequired] [special form][].

```pycon
>>> is_notrequired(NotRequired)
True
```
ParamSpecArgsz
Return whether the argument is an instance of [`ParamSpecArgs`][typing.ParamSpecArgs].

```pycon
>>> P = ParamSpec('P')
>>> is_paramspecargs(P.args)
True
```
ParamSpecKwargsz
Return whether the argument is an instance of [`ParamSpecKwargs`][typing.ParamSpecKwargs].

```pycon
>>> P = ParamSpec('P')
>>> is_paramspeckwargs(P.kwargs)
True
```
ReadOnlyz
Return whether the argument is the [`ReadOnly`][typing.ReadOnly] [special form][].

```pycon
>>> is_readonly(ReadOnly)
True
```
Requiredz
Return whether the argument is the [`Required`][typing.Required] [special form][].

```pycon
>>> is_required(Required)
True
```
Selfzq
Return whether the argument is the [`Self`][typing.Self] [special form][].

```pycon
>>> is_self(Self)
True
```
	TypeAliasz
Return whether the argument is the [`TypeAlias`][typing.TypeAlias] [special form][].

```pycon
>>> is_typealias(TypeAlias)
True
```
	TypeGuardz
Return whether the argument is the [`TypeGuard`][typing.TypeGuard] [special form][].

```pycon
>>> is_typeguard(TypeGuard)
True
```
r
   zy
Return whether the argument is the [`TypeIs`][typing.TypeIs] [special form][].

```pycon
>>> is_typeis(TypeIs)
True
```
r	   _is_typealiastype_innerc                (    V ^8  d   QhR\         RR/# )r)   rZ   r.   zTypeIs[TypeAliasType]r   )r0   s   "r1   r2   r2     s     N Nc N)@ Nr3   c                J    \        V 4      \        J;'       d    \        V 4      # N)r_   r   rq   rb   s   "r1   r"   r"     s    Cy,MM1H1MMr3   a'  
Return whether the argument is a [`TypeAliasType`][typing.TypeAliasType] instance.

```pycon
>>> type MyInt = int
>>> is_typealiastype(MyInt)
True
>>> MyStr = TypeAliasType("MyStr", str)
>>> is_typealiastype(MyStr):
True
>>> type MyList[T] = list[T]
>>> is_typealiastype(MyList[int])
False
```
Unpackz
Return whether the argument is the [`Unpack`][typing.Unpack] [special form][].

```pycon
>>> is_unpack(Unpack)
True
>>> is_unpack(Unpack[Ts])
False
```
c                (    V ^8  d   QhR\         RR/# r)   rZ   r.   zTypeIs[deprecated]rs   )r0   s   "r1   r2   r2     s     2 23 2&: 2r3   c                "    \        V \        4      # ru   )r^   _deprecated_typesrb   s   "r1   is_deprecatedr{     s    #011r3   c                (    V ^8  d   QhR\         RR/# rx   rs   )r0   s   "r1   r2   r2   #  s     1 13 1&: 1r3   c                "    \        V \        4      # ru   )r^   _deprecated_typerb   s   "r1   r{   r{   #  s    #/00r3   a+  
Return whether the argument is a [`deprecated`][warnings.deprecated] instance.

This also includes the [`typing_extensions` backport][typing_extensions.deprecated].

```pycon
>>> is_deprecated(warnings.deprecated('message'))
True
>>> is_deprecated(typing_extensions.deprecated('message'))
True
```
c                   V ^8  d   Qh/ ^ \         9   d1   \        \        \        \        \        ,          3,          ,          ;R&   ^\         9   d1   \        \        \
        \        \        ,          3,          ,          ;R&   # )r)   DEPRECATED_ALIASESDEPRECATED_ALIASES_IDS)__conditional_annotations__r   dictr   r_   int)r0   s   "r1   r2   r2      s]      j+ +E$sDI~./ +kH h gd3S	>23 gIr3   )"r   r   r   r   r   r   r   r{   r   r   r   r   r   rc   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   )   
   )r      )yr   __doc__collections.abccollections
contextlibresysr=   warningstextwrapr   typesr   r   r   r   r   r>   r   r	   r
   r   __all__version_info	_IS_PY310rJ   rN   r   r   r   r   r   r   r   r   r   r%   r&   r'   rc   r   r   r   r   r   r   r   r   r   r   r   r    r!   r#   r$   rq   r"   r(   rz   r{   r~   Hashableabc	Awaitable	CoroutineAsyncIterableAsyncIteratorIterableIterator
ReversibleSized	Container
CollectionCallableAbstractSetSet
MutableSetMappingMutableMappingSequenceMutableSequenceTuplera   ListlistDequedequeset	FrozenSet	frozensetMappingViewKeysView	ItemsView
ValuesViewDictr   DefaultDictdefaultdictOrderedDictCounterChainMap	GeneratorAsyncGeneratorTyper_   PatternMatchContextManagerAbstractContextManagerAsyncContextManagerAbstractAsyncContextManagerr   itemsidr   aliastargetr?   __name__te_aliasr2   )kvr   s   00@r1   <module>r      s     	 
    6 6   N N#J R G+	4"n&"V 0^L	  
*%	: /z=I	  2-AQR	  ,GZ@	  3<Q  .iF
	
  .iF
	
  2+~N  0	<H

  5^EVW  ,GZ@ $X4 4OEWX    ,GZ@  0	<H

  0^L  3>CTU  /z=I	  2-AQR  6oGYZ    88IK_`    /z=I  /z=I  +69
= 0^L  0^L  -X{C		  =_Ngh  
N :/K]^    -X{C			  w!,,.?.J.JK2 )331 +3
OO[__--+3
koo//+3 koo//+3 +//77	+3
 +//77+3 OO[__--+3 OO[__--+3 {11+3 LL+//''+3 koo//+3 {11+3 OO[__--+3 +++3 {11+3  NNKOO++!+3" ;??99#+3$ OO[__--%+3& KOO;;'+3( LL%)+3* KK++3, LL+##-+3. JJ/+30 i1+32 333+34 OO[__--5+36 koo//7+38 {119+3: KK;+3< //=+3> //?+3@ NNK''A+3B OO[))C+3D koo//E+3F ;??99G+3H KK
NNBJJ
LL"((
:<<

 F FS+3  +X A M_LdLdLf6gLfDAr!uaxLf6g  g W ,2245ME6-u~~tDDQ'-8$ 6 7hs   2]