+
    O(i                        R t ^ RIt^ RIHtHt ^RIHt R R lt ! R R4      t]P                   ! R R	]P                  4      4       t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )zA
.. codeauthor:: Tsuyoshi Hombashi <tsuyoshi.hombashi@gmail.com>
N)FinalOptional)Platformc                0    V ^8  d   QhR\         R\        /# )   codereturn)intstr)formats   "X/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/pathvalidate/error.py__annotate__r      s            c                     R V R 2# )PV04d )r   s   &r   _to_error_coder      s    Sz?r   c                   L   a  ] tR t^t o RtRtRtRtRtRt	Rt
RtV 3R	 ltR
tV tR# )ErrorAttrKey
byte_countdescriptionfs_encodingplatformreasonreserved_namereusable_namevaluec                z   < V ^8  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   # )	r   
BYTE_COUNTDESCRIPTIONFS_ENCODINGPLATFORMREASONRESERVED_NAMEREUSABLE_NAMEVALUE)r   )r   __classdict__s   "r   r   ErrorAttrKey.__annotate__   si     $ &  &   	 
   *  *   r   r   N)__name__
__module____qualname____firstlineno__r   r    r!   r"   r#   r$   r%   r&   __annotate_func____static_attributes____classdictcell__r'   s   @r   r   r      s4     $J&K&K HF*M*ME  r   r   c                   6  a  ] tR t^t o Rt]! R4      RR3t]! R4      RR3t]! R4      R	R
3t]! R4      RR3t	]! R4      RR3t
]! R4      RR3t]! R4      RR3t]V 3R lR l4       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R  ltR!tV tR"# )#ErrorReasonz
Validation error reasons.
i  	NULL_NAMEz%the value must not be an empty stringi  r$   z#found a reserved name by a platformiL  INVALID_CHARACTERzinvalid characters foundiM  INVALID_LENGTHzfound an invalid string lengthi  FOUND_ABS_PATHz4found an absolute path where must be a relative pathi  MALFORMED_ABS_PATHzfound a malformed absolute pathi  INVALID_AFTER_SANITIZEz$found invalid value after sanitizingc                    < V ^8  d   QhRS[ /# r   r   r
   )r   r'   s   "r   r   ErrorReason.__annotate__A         c r   c                    V P                   # )zstr: Error code.)_ErrorReason__codeselfs   &r   r   ErrorReason.code@        {{r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r<   F   r=   r   c                    V P                   # )zstr: Error reason name.)_ErrorReason__namer@   s   &r   nameErrorReason.nameE   rC   r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r<   K   s     " "S "r   c                    V P                   # )zstr: Error reason description.)_ErrorReason__descriptionr@   s   &r   r   ErrorReason.descriptionJ        !!!r   c                0   < V ^8  d   QhRS[ RS[ RS[ RR/# )r   r   rG   r   r   Nr;   )r   r'   s   "r   r   r<   O   s)     ) )S ) )# )$ )r   c                *    W n         Wn        W0n        R # N)rF   r?   rK   )rA   r   rG   r   s   &&&&r   __init__ErrorReason.__init__O   s    (r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r<   T   s     7 7 7r   c                :    R V P                    RV P                   2# )[z] )r?   rK   r@   s   &r   __str__ErrorReason.__str__T   s     4;;-r$"4"4!566r   )__code__description__nameN)r)   r*   r+   r,   __doc__r   r3   r$   r4   r5   r6   r7   r8   propertyr   rG   r   rQ   rV   r.   r/   r0   s   @r   r2   r2      s       %{4[\It-M 	t" 	t(N 	t>N 	t) 	t .     " ") )
7 7r   r2   c                   <  a a ] tR t^Xt oRt]V3R lR l4       t]V3R lR l4       t]V3R lR l4       t]V3R lR	 l4       t	]V3R
 lR l4       t
]V3R lR l4       t]V3R lR l4       tV3R lV 3R lltV3R lR ltV3R lR ltV3R lR ltRtVtV ;t# )ValidationErrorz'
Exception class of validation errors.
c                0   < V ^8  d   QhRS[ S[,          /# r:   )r   r   )r   r'   s   "r   r   ValidationError.__annotate__^   s      (8, r   c                    V P                   # )z;
:py:class:`~pathvalidate.Platform`: Platform information.
)_ValidationError__platformr@   s   &r   r   ValidationError.platform]   s    
 r   c                    < V ^8  d   QhRS[ /# r:   )r2   )r   r'   s   "r   r   r`   e   s       r   c                    V P                   # )zF
:py:class:`~pathvalidate.error.ErrorReason`: The cause of the error.
)_ValidationError__reasonr@   s   &r   r   ValidationError.reasond   s    
 }}r   c                0   < V ^8  d   QhRS[ S[,          /# r:   r   r
   )r   r'   s   "r   r   r`   l        " "Xc] "r   c                    V P                   # )z!Optional[str]: Error description.)_ValidationError__descriptionr@   s   &r   r   ValidationError.descriptionk   rM   r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r`   q   s     $ $s $r   c                    V P                   # )zstr: Reserved name.)_ValidationError__reserved_namer@   s   &r   r   ValidationError.reserved_namep        ###r   c                0   < V ^8  d   QhRS[ S[,          /# r:   )r   bool)r   r'   s   "r   r   r`   v   s     $ $x~ $r   c                    V P                   # )z4Optional[bool]: Whether the name is reusable or not.)_ValidationError__reusable_namer@   s   &r   r   ValidationError.reusable_nameu   rr   r   c                0   < V ^8  d   QhRS[ S[,          /# r:   ri   )r   r'   s   "r   r   r`   {   rj   r   c                    V P                   # )z$Optional[str]: File system encoding.)_ValidationError__fs_encodingr@   s   &r   r   ValidationError.fs_encodingz   rM   r   c                0   < V ^8  d   QhRS[ S[,          /# r:   )r   r	   )r   r'   s   "r   r   r`      s     ! !HSM !r   c                    V P                   # )z&Optional[int]: Byte count of the path.)_ValidationError__byte_countr@   s   &r   r   ValidationError.byte_count   s        r   c                   < V ^8  d   QhRR/# r   r   Nr   )r   r'   s   "r   r   r`      s     . .4 .r   c                ,  < \         P                  V9  d   \        \         P                   R 24      hVP                  \         P                  4      V n        VP                  \         P
                  R4      V n        VP                  \         P                  R4      V n        VP                  \         P                  R4      V n
        VP                  \         P                  R4      V n        VP                  \         P                  R4      V n        VP                  \         P                  R4      V n        VP                  \         P"                  R4      V n         \&        SV `P  ! V^ ,          / VB  R#   \*         d    \&        ST `P  ! T/ TB   R# i ; i)z must be specifiedN )r   r#   
ValueErrorpoprf   r   r~   r"   rb   r    rl   r$   rp   r%   rv   r!   rz   r&   _ValidationError__valuesuperrQ   
IndexErrorrA   argskwargs	__class__s   &*,r   rQ   ValidationError.__init__   s.   f, 3 344FGHH%+ZZ0C0C%D+1::l6M6Mt+T.4jj9N9NPT.U,2JJ|7O7OQU,V$*JJ|/I/I2$N/5zz,:T:TVZ/[,2JJ|7O7OQU,V&,jj1C1CT&J	.Gd1g00 	.Gd-f-	.s   E4 4FFc                6   < V ^8  d   QhRS[ S[S[3,          /# r:   )dictr
   )r   r'   s   "r   r   r`      s      c3h r   c                   RV P                   P                  \        P                  V P                   P                  /pV P
                  '       d(   V P
                  P                  V\        P                  &   V P                  '       d   V P                  V\        P                  &   V P                  e'   \        V P                  4      V\        P                  &   V P                  '       d   V P                  V\        P                  &   V P                  '       d'   \        V P                  4      V\        P                  &   V P                  '       d   V P                  V\        P                   &   V# )zyReturn a dictionary representation of the error.

Returns:
    Dict[str, str]: A dictionary representation of the error.
r   )r   r   r   r    r   r   r   r"   rv   r
   r%   rz   r!   r~   r   r   r&   )rA   slogs   & r   as_slogValidationError.as_slog   s    DKK$$$$dkk&=&= 
 ===*.--*=*=D&&'-1-=-=D))*+/243G3G/HD++,-1-?-?D))*,/0A0A,BD(()<<<'+||D##$r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r`      s     5 5 5r   c                $   . p\        V P                  4      p\        P                  V 4      '       d%   VP	                  \        P                  V 4      4       V P
                  '       d9   VP	                  \        P                   R V P
                  P                   24       V P                  '       d/   VP	                  \        P                   R V P                   24       V P                  e/   VP	                  \        P                   R V P                   24       V P                  '       d/   VP	                  \        P                   R V P                   24       V P                   e0   VP	                  \        P"                   R V P                   R 24       V P$                  '       d0   VP	                  \        P&                   R V P$                  : 24       V'       d
   VR,          pVRP)                  V4      P+                  4       ,           # )=z,dz: z, )r
   r   	ExceptionrV   appendr   r   r"   r   r   r    rv   r%   r   rz   r!   r~   r   r   r&   joinstrip)rA   	item_listheaders   &  r   rV   ValidationError.__str__   s   	T[[!T""Y..t45=== 5 56a8K8K7LMN 8 894;K;K:LMN+ : :;1T=O=O<PQR 8 894;M;M:NOP( 7 78$:K:KB9OPQ<<< 2 231T\\4DEFdNF		),22444r   c                    < V ^8  d   QhRS[ /# r:   r;   )r   r'   s   "r   r   r`      s      # r   c                "    V P                  4       # rP   )rV   r@   s   &r   __repr__ValidationError.__repr__   s    ||~r   )__byte_countrY   __fs_encoding
__platform__reason__reserved_name__reusable_name__value)r)   r*   r+   r,   r[   r\   r   r   r   r   r   r   r   rQ   r   rV   r   r.   r/   __classcell__r   r'   s   @@r   r^   r^   X   s          " " $ $ $ $ " " ! !. .$ 45 52  r   r^   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )NullNameErrorz4[Deprecated]
Exception raised when a name is empty.
c                   < V ^8  d   QhRR/# r   r   )r   r'   s   "r   r   NullNameError.__annotate__        ) )4 )r   c                l   < \         P                  V\        P                  &   \        SV `  ! V3/ VB  R # rP   )r2   r3   r   r#   r   rQ   r   s   &*,r   rQ   NullNameError.__init__   s+    &1&;&;|""#((r   r   	r)   r*   r+   r,   r[   rQ   r.   r/   r   r   s   @@r   r   r           ) ) )r   r   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )InvalidCharErrorzF
Exception raised when includes invalid character(s) within a string.
c                   < V ^8  d   QhRR/# r   r   )r   r'   s   "r   r   InvalidCharError.__annotate__   r   r   c                l   < \         P                  V\        P                  &   \        SV `  ! V3/ VB  R # rP   )r2   r4   r   r#   r   rQ   r   s   &*,r   rQ   InvalidCharError.__init__   s+    &1&C&C|""#((r   r   r   r   s   @@r   r   r      r   r   r   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )ReservedNameErrorz9
Exception raised when a string matched a reserved name.
c                   < V ^8  d   QhRR/# r   r   )r   r'   s   "r   r   ReservedNameError.__annotate__   r   r   c                l   < \         P                  V\        P                  &   \        SV `  ! V3/ VB  R # rP   )r2   r$   r   r#   r   rQ   r   s   &*,r   rQ   ReservedNameError.__init__   s+    &1&?&?|""#((r   r   r   r   s   @@r   r   r      r   r   r   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )ValidReservedNameErrorzh[Deprecated]
Exception raised when a string matched a reserved name.
However, it can be used as a name.
c                   < V ^8  d   QhRR/# r   r   )r   r'   s   "r   r   #ValidReservedNameError.__annotate__   r   r   c                P   < R V\         P                  &   \        SV `  ! V3/ VB  R# )TNr   r%   r   rQ   r   s   &*,r   rQ   ValidReservedNameError.__init__   s%    -1|))*((r   r   r   r   s   @@r   r   r           
) ) )r   r   c                   B   a a ] tR t^t oRtV3R lV 3R lltRtVtV ;t# )InvalidReservedNameErrorzw[Deprecated]
Exception raised when a string matched a reserved name.
Moreover, the reserved name is invalid as a name.
c                   < V ^8  d   QhRR/# r   r   )r   r'   s   "r   r   %InvalidReservedNameError.__annotate__   r   r   c                P   < R V\         P                  &   \        SV `  ! V3/ VB  R# )FNr   r   s   &*,r   rQ   !InvalidReservedNameError.__init__   s%    -2|))*((r   r   r   r   s   @@r   r   r      r   r   r   )r[   enumtypingr   r   _constr   r   r   uniqueEnumr2   r   r^   r   r   r   r   r   r   r   r   <module>r      s     "   :7$)) :7 :7zrj rj)O )) )) )	). 	)	)0 	)r   