+
    }i/                         . ROt ^ RIt^ RIHt ^ RIHtHtHt ^RIH	t	H
t
HtHt ^RIHtHt  ! R R]
],          4      t ! R	 R]
],          4      t ! R
 R ]
]	,          4      tR# )DeviceMatcher	OSMatcherUserAgentMatcherN)cached_property)LiteralOptionalPattern)DeviceMatcherOS	UserAgent)getreplacerc                      a  ] tR t^t o RtRtRV 3R lR lltV 3R lR lt]V 3R lR	 l4       t	V 3R
 lR lt
V 3R ltRtV tR# )r   zLazy user agent matcher, compiles the input ``regex`` on first
use.

Requires slightly more memory as it needs to reference both the
pattern string and the compiled pattern.

 Nc                   < V ^8  d   QhRS[ RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RR/# 	   regexfamilymajorminorpatchpatch_minorreturnNstrr   )format__classdict__s   "`/Users/ahmad/.openclaw/workspace/my-crawler/.venv/lib/python3.14/site-packages/ua_parser/lazy.py__annotate__UserAgentMatcher.__annotate__   se     ' '' ' }	'
 }' }' c]' 
'    c                d    Wn         T;'       g    R V n        W0n        W@n        WPn        W`n        R# )$1Nr   r   r   r   r   r   selfr   r   r   r   r   r   s   &&&&&&&r   __init__UserAgentMatcher.__init__   s+     
nn


&r"   c                6   < V ^8  d   QhRS[ RS[S[,          /# r   uar   )r   r   r   )r   r   s   "r   r    r!   +   s       3 8I#6 r"   c           
        V P                   P                  V4      ;p'       d   \        R V P                  9   d$   V P                  P	                  R V^,          4      MV P                  V P
                  ;'       g    \        V^4      V P                  ;'       g    \        V^4      V P                  ;'       g    \        V^4      V P                  ;'       g    \        V^4      R7      # R# )r$   r   r   r   r   r   N)
patternsearchr   r   replacer   r   r   r   r   )r'   r,   ms   && r   __call__UserAgentMatcher.__call__+   s    ##B''1' t{{* KK''ad3jj--C1Ijj--C1Ijj--C1I ,,99Aq	
 
 r"   c                0   < V ^8  d   QhRS[ S[,          /# r   r   r   r   )r   r   s   "r   r    r!   ;        & & &r"   c                B    \         P                  ! V P                  4      # Nrecompiler   r'   s   &r   r/   UserAgentMatcher.pattern:       zz$**%%r"   c                    < V ^8  d   QhRS[ /# r6   r   )r   r   s   "r   r    r!   >   s     
9 
9# 
9r"   c                   R V P                   R8w  d   V P                   MR3RV P                  3RV P                  3RV P                  3RV P                  3.pRP                  R V 4       4      pR	V P                  : V R
2# )r   r$   Nr   r   r   r   r   c              3   D   "   T F  w  rVf   K  RV RV: 2x  K  	  R # 5iNz, = .0kvs   &  r   	<genexpr>,UserAgentMatcher.__repr__.<locals>.<genexpr>F   "     J&$!A~A3au~&     zUserAgentMatcher()r   r   r   r   r   joinr   r'   fieldsargss   &  r   __repr__UserAgentMatcher.__repr__>   s    dkkT&9t{{tDdjj!djj!djj!D,,-
 wwJ&JJ"4::.a88r"   c                   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   S[S[ ,          ;R&   # r   r   r   r   r   r   r   r   )r   r   s   "r   r    r!      sa      O  K  C=  C=  C=  # r"   r   r   r   r   r   r   NNNNN__name__
__module____qualname____firstlineno____doc__r   r(   r3   r   r/   rV   __annotate_func____static_attributes____classdictcell__r   s   @r   r   r      sK      E' '   & &
9 
9g  r"   c                      a  ] tR t^Kt o RtRtRV 3R lR lltV 3R lR lt]V 3R lR	 l4       t	V 3R
 lR lt
V 3R ltRtV tR# )r   zLazy OS matcher, compiles the input ``regex`` on first
use.

Requires slightly more memory as it needs to reference both the
pattern string and the compiled pattern.

r   Nc                   < V ^8  d   QhRS[ RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RR/# r   r   )r   r   s   "r   r    OSMatcher.__annotate__[   se     / // / }	/
 }/ }/ c]/ 
/r"   c                    Wn         T;'       g    R V n        T;'       g    RV n        T;'       g    RV n        T;'       g    RV n        T;'       g    RV n        R# )r$   $2$3$4$5Nr%   r&   s   &&&&&&&r   r(   OSMatcher.__init__[   sM     
nn]]d
]]d
]]d
&..$r"   c                6   < V ^8  d   QhRS[ RS[S[,          /# r+   )r   r   r   )r   r   s   "r   r    rh   k   s      3 8B< r"   c           
     \   V P                   P                  V4      ;p'       d   \        V P                  V4      pVf   \	        RV 24      h\        V\        V P                  V4      \        V P                  V4      \        V P                  V4      \        V P                  V4      R7      # R # )NzUnable to find OS family in r.   )
r/   r0   r   r   
ValueErrorr   r   r   r   r   r'   r,   r2   r   s   &&  r   r3   OSMatcher.__call__k   s    ##B''1'dkk1-F~ #?t!DEEtzz1-tzz1-tzz1-$T%5%5q9  r"   c                0   < V ^8  d   QhRS[ S[,          /# r6   r7   )r   r   s   "r   r    rh   z   r8   r"   c                B    \         P                  ! V P                  4      # r:   r;   r>   s   &r   r/   OSMatcher.patterny   r@   r"   c                    < V ^8  d   QhRS[ /# r6   rB   )r   r   s   "r   r    rh   }   s     
2 
2# 
2r"   c                   R V P                   R8w  d   V P                   MR3RV P                  R8w  d   V P                  MR3RV P                  R8w  d   V P                  MR3RV P                  R8w  d   V P                  MR3R	V P                  R
8w  d   V P                  MR3.pRP                  R V 4       4      pRV P                  : V R2# )r   r$   Nr   rj   r   rk   r   rl   r   rm   r   c              3   D   "   T F  w  rVf   K  RV RV: 2x  K  	  R # 5irE   rG   rH   s   &  r   rL   %OSMatcher.__repr__.<locals>.<genexpr>   rN   rO   z
OSMatcher(rP   rQ   rS   s   &  r   rV   OSMatcher.__repr__}   s    dkkT&9t{{tDDJJ$$6djjDADJJ$$6djjDADJJ$$6djjDA0@0@D0HD,,dS
 wwJ&JJDJJ>$q11r"   c                b   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # rY   rB   )r   r   s   "r   r    rh   K   sN      O  K  J  J  J   r"   rZ   r[   r\   re   s   @r   r   r   K   sK      E/ /   & &
2 
2e  r"   c                      a  ] tR t^t o RtRtRtRV 3R lR lltV 3R lR lt]	V 3R lR	 l4       t
]V 3R
 lR l4       tV 3R lR ltV 3R ltRtV tR# )r   zLazy device matcher, compiles the input ``regex`` on first
use.

Requires slightly more memory as it needs to reference both the
pattern string and the compiled pattern.

r   Nc                   < V ^8  d   QhRS[ RS[S[R,          ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RR/# )	r   r   
regex_flagir   brandmodelr   Nr   r   r   )r   r   s   "r   r    DeviceMatcher.__annotate__   s\     # ## WS\*# 	#
 }# }# 
#r"   c                    Wn         W n        T;'       g    R V n        T;'       g    RV n        T;'       g    R V n        R# )r$   r   N)r   r   r   r   r   )r'   r   r   r   r   r   s   &&&&&&r   r(   DeviceMatcher.__init__   s5     
$nn[[b
]]d
r"   c                6   < V ^8  d   QhRS[ RS[S[,          /# r+   )r   r   r	   )r   r   s   "r   r    r      s      
 
3 
8F#3 
r"   c                   V P                   P                  V4      ;p'       d_   \        V P                  V4      pVf   \	        RV 24      h\        V\        V P                  V4      \        V P                  V4      R7      # R # )Nz Unable to find device family in )r   r   r   )r/   r0   r   r   rq   r	   r   r   rr   s   &&  r   r3   DeviceMatcher.__call__   su    ##B''1'dkk1-F~ #CB4!HIItzz1-tzz1- 
 r"   c                    < V ^8  d   QhRS[ /# r6   )int)r   r   s   "r   r    r      s     > >s >r"   c                H    V P                   R 8X  d   \        P                  # ^ # )r   )r   r<   
IGNORECASEr>   s   &r   flagsDeviceMatcher.flags   s     $3 6r}}=A=r"   c                0   < V ^8  d   QhRS[ S[,          /# r6   r7   )r   r   s   "r   r    r      s     8 8 8r"   c                Z    \         P                  ! V P                  V P                  R 7      # ))r   )r<   r=   r   r   r>   s   &r   r/   DeviceMatcher.pattern   s    zz$**DJJ77r"   c                    < V ^8  d   QhRS[ /# r6   rB   )r   r   s   "r   r    r      s     	6 	6# 	6r"   c                D   R V P                   R8w  d   V P                   MR3RV P                  ;'       g    R3RV P                  R8w  d   V P                  MR3.pV P                  '       d   RMRpVRP	                  R V 4       4      ,           pRV P
                  : V R	2# )
r   r$   Nr   r   z, "i"r   c              3   D   "   T F  w  rVf   K  RV RV: 2x  K  	  R # 5irE   rG   rH   s   &  r   rL   )DeviceMatcher.__repr__.<locals>.<genexpr>   s"     R&$!A~A3au~&rO   zDeviceMatcher(rP   )r   r   r   r   rR   r   )r'   rT   iflagrU   s   &   r   rV   DeviceMatcher.__repr__   s    dkkT&9t{{tDdjj((D)DJJ$$6djjDA

  ???rwwR&RRR

~dV155r"   c                t   < V ^8  d   Qh/ S[ ;R&   S[S[R,          ,          ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # )r   r   r   r   r   r   r   r   )r   r   s   "r   r    r      sK      O  &-  K  J  J r"   )r   r   r   r   r   )NNNN)r]   r^   r_   r`   ra   r   r   r(   r3   propertyr   r   r/   rV   rb   rc   rd   re   s   @r   r   r      sd      E)-J
# #
 
 > > 8 8	6 	6c  r"   )r   r   r   )__all__r<   	functoolsr   typingr   r   r   corer	   r
   r   r   utilsr   r   r   r   r   rG   r"   r   <module>r      sR   
< 	 % - - 0 0  =9wy) =9@<2 <2~:6GFO :6r"   