+
    Nj                    &    ^ RI Ht  ! R R4      tR# )    )annotationsc                      ] tR t^t$ RtRtR]R&    RtR]R&    RtR]R&    Rt	R]R&    R R	 lt
R
 R ltR R ltR R ltR R ltRtR# )	UserAgenta  Represents a parsed user agent header value.

The default implementation does no parsing, only the :attr:`string`
attribute is set. A subclass may parse the string to set the
common attributes or expose other information. Set
:attr:`werkzeug.wrappers.Request.user_agent_class` to use a
subclass.

:param string: The header value to parse.

.. versionadded:: 2.0
    This replaces the previous ``useragents`` module, but does not
    provide a built-in parser.
Nz
str | Noneplatformbrowserversionlanguagec                    V ^8  d   QhRRRR/# )   stringstrreturnNone )formats   "U/data/cameron/venvs/serve_omidlab/lib/python3.14/site-packages/werkzeug/user_agent.py__annotate__UserAgent.__annotate__    s     ) )s )t )    c                	    Wn         R # Nr   )selfr   s   &&r   __init__UserAgent.__init__    s
    !(r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r   $   s     H H# Hr   c                	h    R \        V 4      P                   RV P                   RV P                   R2# )< />)type__name__r   r   r   s   &r   __repr__UserAgent.__repr__$   s0    4:&&'qa~QGGr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   '   s       r   c                	    V P                   # r   r   r%   s   &r   __str__UserAgent.__str__'   s    {{r   c                   V ^8  d   QhRR/# )r   r   boolr   )r   s   "r   r   r   *   s     " "$ "r   c                	,    \        V P                  4      # r   )r-   r   r%   s   &r   __bool__UserAgent.__bool__*   s    DLL!!r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r   -   s      3 r   c                    V P                   # )zConvert to a header value.r   r%   s   &r   	to_headerUserAgent.to_header-   s    {{r   r   )r$   
__module____qualname____firstlineno____doc__r   __annotations__r   r   r	   r   r&   r*   r/   r3   __static_attributes__r   r   r   r   r      s\      Hj=GZBGZEHjF)H" r   r   N)
__future__r   r   r   r   r   <module>r<      s    "+ +r   