
    Mh                    n    S r SSKJr  SSKJrJr  SSKJr  SSKJ	r	  \(       a  SSK
Jr   " S S\\5      rg	)
zj
frozen (immutable) data structures to support MultiIndexing

These are used for:

- .names (FrozenList)

    )annotations)TYPE_CHECKINGNoReturn)PandasObjectpprint_thing)Selfc                     ^  \ rS rSrSrSU 4S jjrSS jr\=rrU 4S jr	SS jr
SU 4S jjr\rSU 4S jjr\rS	 rSS
 jrSS jrSS jrSS jr\=rr\=rr\=r=rr\=r=rrSrU =r$ )
FrozenList   z
Container that doesn't allow setting item *but*
because it's technically hashable, will be used
for lookups, appropriately, etc.
c                   > [        U[        5      (       a  [        U5      n[        U 5      " [        TU ]  U5      5      $ )z
Returns a FrozenList with other concatenated to the end of self.

Parameters
----------
other : array-like
    The array-like whose elements we are concatenating.

Returns
-------
FrozenList
    The collection difference between self and other.
)
isinstancetuplelisttypesuper__add__selfother	__class__s     L/var/www/html/env/lib/python3.13/site-packages/pandas/core/indexes/frozen.pyunionFrozenList.union"   s3     eU##KEDz%'/%011    c                v    [        U5      nU  Vs/ s H  o"U;  d  M
  UPM     nn[        U 5      " U5      $ s  snf )z
Returns a FrozenList with elements from other removed from self.

Parameters
----------
other : array-like
    The array-like whose elements we are removing self.

Returns
-------
FrozenList
    The collection difference between self and other.
)setr   )r   r   xtemps       r   
differenceFrozenList.difference4   s9     E
24aE>42Dz$ 3s   	66c                   > [        U[        5      (       a  [        U 5      " [        TU ]  U5      5      $ [        TU ]  U5      $ N)r   slicer   r   __getitem__)r   nr   s     r   r%   FrozenList.__getitem__L   s9    a:eg1!455w"1%%r   c                |    [        U[        5      (       a  [        U5      n[        U 5      " U[        U 5      -   5      $ r#   )r   r   r   r   )r   r   s     r   __radd__FrozenList.__radd__Q   s0    eU##KEDz%$t*,--r   c                n   > [        U[        [        45      (       a  [        U5      n[        TU ]  U5      $ r#   )r   r   r   r   r   __eq__r   s     r   r,   FrozenList.__eq__V   s-    eeZ011KEw~e$$r   c                @   > [        U 5      " [        TU ]	  U5      5      $ r#   )r   r   __mul__r   s     r   r/   FrozenList.__mul__]   s    Dz%'/%011r   c                0    [        U 5      [        U 5      44$ r#   )r   r   r   s    r   
__reduce__FrozenList.__reduce__b   s    DzDJ=((r   c                *    [        [        U 5      5      $ r#   )hashr   r2   s    r   __hash__FrozenList.__hash__f   s    E$K  r   c                F    [        S[        U 5      R                   S35      e)z<
This method will not function because object is immutable.
'z&' does not support mutable operations.)	TypeErrorr   __name__)r   argskwargss      r   	_disabledFrozenList._disabledi   s$     !DJ//00VWXXr   c                    [        U SSS9$ )NT)	
)quote_stringsescape_charsr   r2   s    r   __str__FrozenList.__str__o   s    DCUVVr   c                J    [        U 5      R                   S[        U 5       S3$ )N())r   r<   strr2   s    r   __repr__FrozenList.__repr__r   s$    t*%%&aD	{!44r    )returnr   )rP   r	   )r   objectrP   bool)rP   int)rP   r   )rP   rL   ) r<   
__module____qualname____firstlineno____doc__r   r    r   __iadd__r%   r)   r,   __req__r/   __imul__r3   r7   r?   rG   rM   __setitem____setslice____delitem____delslice__popappendextendremovesortinsert__static_attributes____classcell__)r   s   @r   r   r      s    2$ , Gh&
.
%
 G2 H)!YW5 "+*K,!**K,%%C%&6&&F&TFr   r   N)rW   
__future__r   typingr   r   pandas.core.baser   pandas.io.formats.printingr   pandas._typingr	   r   r   rO   r   r   <module>rl      s2    #
 * 3#`'t `'r   