§
    Š¦T`2  ã                   ó  — d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZ d dlmZmZ d dlmZ  eee¦  «        Zi Z G d„ dej        ¦  «        Z G d	„ d
e¦  «        Zd„ Zd„ ZeZ	 d„ Zd„ Z e¦   «         i i edfd„Zdd„Zd„ ZdS )é    N)Ú
get_loader)ÚPyGIDeprecationWarning)ÚCallableInfoÚpygobject_new_full)Ú	TYPE_NONEÚTYPE_INVALID)Úextend_pathc                   ó4   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zˆ xZS )ÚOverridesProxyModulez7Wraps a introspection module and contains all overridesc                 óp   •— t          t          | ¦  «                             |j        ¦  «         || _        d S ©N)Úsuperr   Ú__init__Ú__name__Ú_introspection_module)ÚselfÚintrospection_moduleÚ	__class__s     €ú7/usr/lib/python3/dist-packages/gi/overrides/__init__.pyr   zOverridesProxyModule.__init__   s:   ø€ ÝÕ" DÑ)Ô)×2Ò2Ø Ô)ñ	+ô 	+ð 	+à%9ˆÔ"Ð"Ð"ó    c                 ó,   — t          | j        |¦  «        S r   )Úgetattrr   )r   Únames     r   Ú__getattr__z OverridesProxyModule.__getattr__   s   € Ý�tÔ1°4Ñ8Ô8Ð8r   c                 ó  — t          t          | j        ¦  «        ¦  «        }|                     | j                             ¦   «         ¦  «         |                     t          | j        ¦  «        ¦  «         t          |¦  «        S r   )ÚsetÚdirr   ÚupdateÚ__dict__Úkeysr   Úsorted)r   Úresults     r   Ú__dir__zOverridesProxyModule.__dir__"   sb   € Ý•S˜œÑ(Ô(Ñ)Ô)ˆØ�Š�d”m×(Ò(Ñ*Ô*Ñ+Ô+Ð+Ø�Š•c˜$Ô4Ñ5Ô5Ñ6Ô6Ð6Ý�f‰~Œ~Ðr   c                 óB   — dt          | ¦  «        j        ›d| j        ›d�S )Nú<ú ú>)Útyper   r   )r   s    r   Ú__repr__zOverridesProxyModule.__repr__(   s'   € € Ý  ™JœJÔ/Ð/Ð/°Ô1KÐ1KÐ1KÐLÐLr   )	r   Ú
__module__Ú__qualname__Ú__doc__r   r   r#   r)   Ú__classcell__)r   s   @r   r   r      sr   ø€ € € € € ØAÐAð:ð :ð :ð :ð :ð
9ð 9ð 9ðð ð ðMð Mð Mð Mð Mð Mð Mr   r   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú_DeprecatedAttributezÉA deprecation descriptor for OverridesProxyModule subclasses.

    Emits a PyGIDeprecationWarning on every access and tries to act as a
    normal instance attribute (can be replaced and deleted).
    c                 ó\   — || _         || _        t          |›d|›d|›d�¦  «        | _        d S )Nú.ú is deprecated; use ú instead)Ú_attrÚ_valuer   Ú_warning)r   Ú	namespaceÚattrÚvalueÚreplacements        r   r   z_DeprecatedAttribute.__init__3   s=   € ØˆŒ
ØˆŒÝ.à�	�	˜4˜4˜4   ð.ñ/ô /ˆŒˆˆr   c                 ór   — |€t          | j        ¦  «        ‚t          j        | j        d¬¦  «         | j        S )Né   ©Ú
stacklevel)ÚAttributeErrorr4   ÚwarningsÚwarnr6   r5   )r   ÚinstanceÚowners      r   Ú__get__z_DeprecatedAttribute.__get__:   s7   € ØÐÝ  ¤Ñ,Ô,Ð,ÝŒ�d”m°Ð2Ñ2Ô2Ð2ØŒ{Ðr   c                 óp   — | j         }t          t          |¦  «        |¦  «         t          |||¦  «         d S r   )r4   Údelattrr(   Úsetattr)r   rB   r9   r8   s       r   Ú__set__z_DeprecatedAttribute.__set__@   s7   € ØŒzˆå•�X‘” Ñ%Ô%Ð%Ý�˜$ Ñ&Ô&Ð&Ð&Ð&r   c                 óJ   — t          t          |¦  «        | j        ¦  «         d S r   )rF   r(   r4   )r   rB   s     r   Ú
__delete__z_DeprecatedAttribute.__delete__F   s    € å•�X‘” ¤
Ñ+Ô+Ð+Ð+Ð+r   N)r   r*   r+   r,   r   rD   rH   rJ   © r   r   r/   r/   ,   sZ   € € € € € ðð ð/ð /ð /ðð ð ð'ð 'ð 'ð,ð ,ð ,ð ,ð ,r   r/   c                 ón  — | j                              dd¦  «        d         }d|z   }|t          j        v }t          j                             |¦  «        }t          |dz   t          fi ¦  «        } || ¦  «        }|t          j        |<   ddlm} t          |d¦  «        sJ ‚|||<   	 d	|z   }	 t          |¦  «        }	n# t          $ r d
}	Y nw xY w|	€$| ||= t          j        |= |r|t          j        |<   S S t          j        |¦  «        }
||= t          j        |= |r|t          j        |<   n&# ||= t          j        |= |r|t          j        |<   w xY w||_        g }t          |
d¦  «        r|
j        }|D ]<}	 t          |
|¦  «        }n# t          t           f$ r Y Œ'w xY wt#          |||¦  «         Œ=t$                               |g ¦  «        D ]j\  }}	 t          ||¦  «        }n # t          $ r t)          d|z  ¦  «        ‚w xY wt+          ||¦  «         t-          ||||¦  «        }t#          |||¦  «         Œk|S )z¿Loads overrides for an introspection module.

    Either returns the same module again in case there are no overrides or a
    proxy module including overrides. Doesn't cache the result.
    r1   é   éÿÿÿÿúgi.repository.ÚProxyModuler<   )Úmodulesr   zgi.overrides.NÚ__all__z1%s was set deprecated but wasn't added to __all__)r   ÚrsplitÚsysrQ   Úgetr(   r   ÚimporterÚhasattrr   r?   Ú	importlibÚimport_moduleÚ_overrides_modulerR   r   Ú	TypeErrorrG   Ú_deprecated_attrsÚpopÚAssertionErrorrF   r/   )r   r7   Ú
module_keyÚhas_oldÚ
old_moduleÚ
proxy_typeÚproxyrQ   Úoverride_package_nameÚoverride_loaderÚoverride_modÚoverride_allÚvarÚitemr8   r:   r9   Údeprecated_attrs                     r   Úload_overridesrk   K   sõ  € ð %Ô-×4Ò4°S¸!Ñ<Ô<¸RÔ@€IØ! IÑ-€Jð �CœKÐ'€GÝ”—’ Ñ,Ô,€Jõ �i -Ñ/Õ2FÐ1IÈ2ÑNÔN€JàˆJÐ+Ñ,Ô,€EØ#…C„K�
Ñð #Ð"Ð"Ð"Ð"Ð"Ý�5Ð1Ñ2Ô2Ð2Ð2Ð2Ø€GˆIÑð1Ø /°)Ñ ;Ðð	#Ý(Ð)>Ñ?Ô?ˆOˆOøåð 	#ð 	#ð 	#Ø"ˆOˆOˆOð	#øøøð
 Ð"Ø'ð
 �IÐÝŒK˜
Ð#Øð 	1Ø&0�CŒK˜
Ñ#Ð#ð	1õ !Ô.Ð/DÑEÔEˆð �IÐÝŒK˜
Ð#Øð 	1Ø&0�CŒK˜
Ñ#øøð �IÐÝŒK˜
Ð#Øð 	1Ø&0�CŒK˜
Ñ#Ð0Ð0Ð0Ð0ð $€EÔà€LÝˆ|˜YÑ'Ô'ð ,Ø#Ô+ˆàð "ð "ˆð	Ý˜<¨Ñ-Ô-ˆDˆDøÝ¥	Ð*ð 	ð 	ð 	àˆHð	øøøõ 	��s˜DÑ!Ô!Ð!Ð!õ /×2Ò2°9¸bÑAÔAð 	3ð 	3Ñˆˆkð	LÝ˜E 4Ñ(Ô(ˆEˆEøÝð 	Lð 	Lð 	LÝ ØCÀdÑJñLô Lð Lð	Løøøõ 	��tÑÔÐÝ.Ø�t˜U Kñ1ô 1ˆå�
˜D /Ñ2Ô2Ð2Ð2à€LsT   Â&D* Â,B< Â;D* Â<CÃD* Ã
CÃD* Ã4D* Ä*#EÅ5FÆFÆFÇG!Ç!G>c                 óÞ  ‡— t          | t          ¦  «        r?| }|j                             dd¦  «        d         }t          j        d|z            Šˆfd„}|S t          | t          j        ¦  «        rt          d| z  ¦  «        ‚	 t          | d¦  «        }n%# t          $ r t          d| j        z  ¦  «        ‚w xY w| j                             d	¦  «        st          d
| ›d| j        ›d�¦  «        ‚|                     ¦   «         }|t          k    sJ ‚|t           k    r| |_        | j                             dd¦  «        d         }t          j        d|z            Št%          ‰| j        | ¦  «         | S )a  Decorator for registering an override.

    Other than objects added to __all__, these can get referenced in the same
    override module via the gi.repository module (get_parent_for_object() does
    for example), so they have to be added to the module immediately.
    r1   rM   rN   rO   c                 ó4   •— t          ‰| j        | ¦  «         | S r   )rG   r   )ÚfuncÚmodules    €r   Úwrapperzoverride.<locals>.wrapper®   s   ø€ Ý�F˜DœM¨4Ñ0Ô0Ð0ØˆKr   z"func must be a gi function, got %sÚ__info__zKCan not override a type %s, which is not in a gobject introspection typelibzgi.overrideszNYou have tried override outside of the overrides module. This is not allowed (ú, ú))Ú
isinstancer   r*   rS   rT   rQ   ÚtypesÚFunctionTyper[   r   r?   r   Ú
startswithÚKeyErrorÚ
get_g_typer   r   ÚpytyperG   )Útype_rn   r7   rp   ÚinfoÚg_typero   s         @r   Úoverrider~   ¡   s¬  ø€ õ �%�Ñ&Ô&ð "ØˆØ”O×*Ò*¨3°Ñ2Ô2°2Ô6ˆ	Ý”Ð-°	Ñ9Ô:ˆð	ð 	ð 	ð 	ð 	ð ˆÝ	�E�5Ô-Ñ	.Ô	.ð ÝÐ<¸uÑDÑEÔEÐEð	:Ý˜5 *Ñ-Ô-ˆDˆDøÝð 	:ð 	:ð 	:Ýð(Ø*/¬.ñ9ñ:ô :ð :ð	:øøøð
 Ô×*Ò*¨>Ñ:Ô:ð 	LÝ�(à27°%°%¸Ô9IÐ9IÐ9IðKñLô Lð Lð —’Ñ"Ô"ˆØ�Ò"Ð"Ð"Ð"Ø•\Ò!Ð!Ø!ˆFŒMàÔ$×+Ò+¨C°Ñ3Ô3°BÔ7ˆ	Ý”Ð-°	Ñ9Ô:ˆÝ�˜œ¨Ñ.Ô.Ð.àˆs   ÂB Â"B6c                 óJ   ‡ ‡— t          j        ‰ ¦  «        ˆ ˆfd„¦   «         }|S )z7Decorator for marking methods and classes as deprecatedc                  ób   •— t          j        ‰j        ›d‰›d�t          d¬¦  «          ‰| i |¤ŽS )Nr2   r3   r<   r=   )r@   rA   r   r   )ÚargsÚkwargsÚfnr:   s     €€r   Úwrappedzdeprecated.<locals>.wrappedÔ   sG   ø€ åŒ¸B¼K¸K¸KÈÈÈÐUÝ,¸ð	<ñ 	<ô 	<ð 	<àˆr�4Ð"˜6Ð"Ð"Ð"r   ©Ú	functoolsÚwraps)rƒ   r:   r„   s   `` r   Ú
deprecatedrˆ   Ò   s>   øø€ å„_�RÑÔð#ð #ð #ð #ð #ñ Ôð#ð €Nr   c                 óf   — t                                | g ¦  «                             ||f¦  «         dS )a:  Marks a module level attribute as deprecated. Accessing it will emit
    a PyGIDeprecationWarning warning.

    e.g. for ``deprecated_attr("GObject", "STATUS_FOO", "GLib.Status.FOO")``
    accessing GObject.STATUS_FOO will emit:

        "GObject.STATUS_FOO is deprecated; use GLib.Status.FOO instead"

    :param str namespace:
        The namespace of the override this is called in.
    :param str namespace:
        The attribute name (which gets added to __all__).
    :param str replacement:
        The replacement text which will be included in the warning.
    N)r\   Ú
setdefaultÚappend)r7   r8   r:   s      r   rj   rj   Ü   s3   € õ" × Ò  ¨BÑ/Ô/×6Ò6¸¸kÐ7JÑKÔKÐKÐKÐKr   r<   c                 ó*   ‡ ‡‡‡‡‡‡— ˆˆˆˆˆˆˆ fd„}|S )a  Wrapper for deprecating GObject based __init__ methods which specify
    defaults already available or non-standard defaults.

    :param callable super_init_func:
        Initializer to wrap.
    :param list arg_names:
        Ordered argument name list.
    :param list ignore:
        List of argument names to ignore when calling the wrapped function.
        This is useful for function which take a non-standard keyword that is munged elsewhere.
    :param dict deprecated_aliases:
        Dictionary mapping a keyword alias to the actual g_object_newv keyword.
    :param dict deprecated_defaults:
        Dictionary of non-standard defaults that will be used when the
        keyword is not explicitly passed.
    :param Exception category:
        Exception category of the error.
    :param int stacklevel:
        Stack level for the deprecation passed on to warnings.warn
    :returns: Wrapped version of ``super_init_func`` which gives a deprecation
        warning when non-keyword args or aliases are used.
    :rtype: callable
    c           
      óÆ  •— |r`t          j        dd                     ‰	dt          |¦  «        …         ¦  «        z  ‰
‰¬¦  «         t	          t          ‰	|¦  «        ¦  «        }ni }|                     |¦  «         g }‰                     ¦   «         D ]6\  }}||v r-|                     |¦  «        ||<   | 	                    |¦  «         Œ7|rjt          j        dd                     ˆfd„t          |¦  «        D ¦   «         ¦  «        ›dd                     t          |¦  «        ¦  «        ›d�‰
‰¬¦  «         g }‰                     ¦   «         D ])\  }}||vr ‰|         ||<   | 	                    |¦  «         Œ*|rFt          j        d	d                     ˆfd
„t          |¦  «        D ¦   «         ¦  «        z  ‰
‰¬¦  «         ‰D ]}||v r|                     |¦  «         Œ ‰| fi |¤ŽS )z†Initializer for a GObject based classes with support for property
        sets through the use of explicit keyword arguments.
        zÒUsing positional arguments with the GObject constructor has been deprecated. Please specify keyword(s) for "%s" or use a class specific constructor. See: https://wiki.gnome.org/PyGObject/InitializerDeprecationsrr   Nr=   zThe keyword(s) "c              3   ó(   •K  — | ]}‰|         V — Œd S r   rK   )Ú.0ÚkÚdeprecated_aliasess     €r   ú	<genexpr>z4deprecated_init.<locals>.new_init.<locals>.<genexpr>(  s)   øè è € Ð$YÐ$Y¸qÐ%7¸Ô%:Ð$YÐ$YÐ$YÐ$YÐ$YÐ$Yr   z$" have been deprecated in favor of "zM" respectively. See: https://wiki.gnome.org/PyGObject/InitializerDeprecationsz�Initializer is relying on deprecated non-standard defaults. Please update to explicitly use: %s See: https://wiki.gnome.org/PyGObject/InitializerDeprecationsc              3   ó2   •K  — | ]}|›d ‰|         ›�V — ŒdS )ú=NrK   )r�   r�   Údeprecated_defaultss     €r   r’   z4deprecated_init.<locals>.new_init.<locals>.<genexpr>7  s5   øè è € Ð#iÐ#iÈa¨q¨q¨qÐ2EÀaÔ2HÐ2HÐ$IÐ#iÐ#iÐ#iÐ#iÐ#iÐ#ir   )r@   rA   ÚjoinÚlenÚdictÚzipr   Úitemsr]   r‹   r!   )r   r�   r‚   Ú
new_kwargsÚaliases_usedÚkeyÚaliasÚdefaults_usedr9   Ú	arg_namesÚcategoryr‘   r•   Úignorer>   Úsuper_init_funcs            €€€€€€€r   Únew_initz!deprecated_init.<locals>.new_init  sd  ø€ ð
 ð 	ÝŒMð Zð Ÿ)š) I¨j­s°4©y¬y¨jÔ$9Ñ:Ô:ñ;ð #¨zð	;ñ ;ô ;ð ;õ
 �c )¨TÑ2Ô2Ñ3Ô3ˆJˆJàˆJØ×Ò˜&Ñ!Ô!Ð!ð ˆØ,×2Ò2Ñ4Ô4ð 	)ð 	)‰JˆC�Ø˜
Ð"Ð"Ø",§.¢.°Ñ"7Ô"7�
˜3‘Ø×#Ò# CÑ(Ô(Ð(øàð 	;ÝŒMˆMàŸ9š9Ð$YÐ$YÐ$YÐ$YÅFÈ<ÑDXÔDXÐ$YÑ$YÔ$YÑYÔYÐYÐYØŸ9š9¥V¨LÑ%9Ô%9Ñ:Ô:Ð:Ð:ð<ð #¨zð	;ñ ;ô ;ð ;ð ˆØ-×3Ò3Ñ5Ô5ð 	*ð 	*‰JˆC�Ø˜*Ð$Ð$Ø"5°cÔ":�
˜3‘Ø×$Ò$ SÑ)Ô)Ð)øàð 	;ÝŒMð Zð Ÿ)š)Ð#iÐ#iÐ#iÐ#iÕSYÐZgÑShÔShÐ#iÑ#iÔ#iÑiÔiñjð #¨zð	;ñ ;ô ;ð ;ð ð 	$ð 	$ˆCØ�jÐ Ð Ø—’˜sÑ#Ô#Ð#øàˆ˜tÐ2Ð2 zÐ2Ð2Ð2r   rK   )r£   r    r¢   r‘   r•   r¡   r>   r¤   s   ``````` r   Údeprecated_initr¥   ð   sH   øøøøøøø€ ð<13ð 13ð 13ð 13ð 13ð 13ð 13ð 13ð 13ð 13ð 13ðf €Or   c                 óR   ‡ ‡‡‡— t          j        ‰ ¦  «        ˆˆˆˆ fd„¦   «         }|S )a  Translate method's return value for stripping off success flag.

    There are a lot of methods which return a "success" boolean and have
    several out arguments. Translate such a method to return the out arguments
    on success and None on failure.
    c                  ó�   •—  ‰| i |¤Ž}|d         r%t          |¦  «        dk    r|d         S |dd …         S ‰r ‰‰pd¦  «        ‚‰S )Nr   r<   rM   zcall failed)r—   )r�   r‚   ÚretÚexc_strÚexc_typeÚfail_retÚmethods      €€€€r   r„   z%strip_boolean_result.<locals>.wrappedK  sj   ø€ àˆf�dÐ%˜fÐ%Ð%ˆØˆqŒ6ð 	Ý�3‰xŒx˜1Š}ˆ}Ø˜1”v�à˜1˜2˜2”w�àð 9Ø�h˜wÐ7¨-Ñ8Ô8Ð8ØˆOr   r…   )r¬   rª   r©   r«   r„   s   ```` r   Ústrip_boolean_resultr­   D  sL   øøøø€ õ „_�VÑÔð
ð 
ð 
ð 
ð 
ð 
ð 
ñ Ôð
ð €Nr   c                 ó   ‡ — ˆ fd„}|S )Nc                 óX   •— t          | d¦  «        } t          |d¦  «        } ‰| |g|¢R Ž S )NF)r   )ÚaÚbÚ	user_datarn   s      €r   Úwrapz'wrap_list_store_sort_func.<locals>.wrap\  s;   ø€ Ý˜q %Ñ(Ô(ˆÝ˜q %Ñ(Ô(ˆØˆt�A�qÐ%˜9Ð%Ð%Ð%Ð%r   rK   )rn   r³   s   ` r   Úwrap_list_store_sort_funcr´   Z  s#   ø€ ð&ð &ð &ð &ð &ð
 €Kr   )NNN) r†   ru   r@   rX   rT   Úpkgutilr   Úgir   Úgi._gir   r   Úgi._constantsr   r   r	   Ú__path__r   r\   Ú
ModuleTyper   Úobjectr/   rk   r~   Úoverridefuncrˆ   rj   Útupler¥   r­   r´   rK   r   r   ú<module>r¾      sÒ  ðØ Ð Ð Ð Ø €€€Ø €€€Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à %Ð %Ð %Ð %Ð %Ð %Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3ðð ð ð ð ð ð ð ð
  Ð Ð Ð Ð Ð Øˆ;�x Ñ*Ô*€ð Ð ðMð Mð Mð Mð M˜5Ô+ñ Mô Mð Mð*,ð ,ð ,ð ,ð ,˜6ñ ,ô ,ð ,ð>Sð Sð Sðl*ð *ð *ðZ €Ø ðð ð ðLð Lð Lð( 8=°u±w´wØ')¸rØ3Ø ðQð Qð Qð Qðhð ð ð ð,ð ð ð ð r   