Ë
    DžsiË&  ã                   óô  — d dl mZ d dlmZ d dlmZ d dlmZ da	da
	 dZdZdd	gZd
ZdZdZd ed«      efe ed«      dfd ed«      efd ed«      efd ed«      efd ed«      efi  ed«      efd ed«      efd ed«      efd ed«      efd ed«      efd ed«      efd ed«      efi  ed«      efd œd!d"idd#d$ed%fed&ffd'œgid(œZ G d)„ d*«      Zd+„ Z	  ee«      ad,„ Z ej2                  e«       y)-é    )Úimport_module)Úsetting_changed)ÚSimpleLazyObject)Úgettext_lazyNÚmaÚxblÚ MICROSOFT_AUTH_AUTHENTICATE_HOOKÚMICROSOFT_AUTH_CALLBACK_HOOKi€Q Úmicrosoft_auth_openid_configÚmicrosoft_auth_jwksTz0Whether or not Microsoft OAuth login is enabled.a  Type of Microsoft login to use.
                Microsoft Accounts is normal Microsoft login.
                Xbox Live Accounts use the old Microsoft Account login screen
                and then also authenticate against Xbox Live to retrieve
                Gamertag.Úmicrosoft_choicesÚcommonzMicrosoft Office 365 Tenant IDÚ zXMicrosoft OAuth Client ID, see
                https://apps.dev.microsoft.com/ for more.z\Microsoft OAuth Client Secret, see
                https://apps.dev.microsoft.com/ for more.a  Extra OAuth scopes for authentication. Required
                scopes are always provided ('openid email'
                for Microsoft Auth and 'XboxLive.signin
                XboxLive.offline_access' for Xbox). Scopes are space
                delimited.zåAny optional parameters to include when building the
                 microsoft authorization code request url. Parameters are
                 parsed from a dict and appended in the order they appear
                 in the dictzSAutocreate user that attempt to login if they do not
                already exist?FzöAutomatically register admin class for auth type
                that is not active (Xbox when Microsoft Auth is
                enabled and Microsoft Auth when Xbox is enabled).
                Requires restart of app for setting to take effect.zLAutomatically sync the username from the Xbox Live
                Gamertag?ziAutomatically replace an existing Microsoft Account
                paired to a user when authenticating.a,  Callable hook to call after authenticating a user on the
                `microsoft_auth.backends.MicrosoftAuthenticationBackend`.

                If the login type is Microsoft Auth, the parameters will be
                `(User: user, oauthlib.oauth2.rfc6749.tokens.OAuth2Token:
                token)`

                If the login type is Xbox Live, the parameters will be
                `(User:user, dict: token)` where token is the Xbox Token,
                see `microsoft_auth.client.MicrosoftClient.fetch_xbox_token`

                for formataS  
                Callable hook to call right before completing the `auth_callback` view.

                Really useful for adding custom data to message or chaning the
                expected base URL that gets passed back up to the window that
                initiated the original Authorize request.

                The parameters that will be passed will be `(HttpRequest:
                request, dict: context)`.

                The expected return value is the updated context dictionary.
                You should NOT remove the data that is currently there.

                `base_url` is the expected root URL of the window that
                initiated the authorize request

                `message` is a dictionary that will be serialized as a JSON
                string and passoed back to the initiating window.
                ztUse proxies for authentication
                See https://requests.readthedocs.io/en/master/user/advanced/#proxies/)ÚMICROSOFT_AUTH_LOGIN_ENABLEDÚMICROSOFT_AUTH_LOGIN_TYPEÚMICROSOFT_AUTH_TENANT_IDÚMICROSOFT_AUTH_CLIENT_IDÚMICROSOFT_AUTH_CLIENT_SECRETÚMICROSOFT_AUTH_EXTRA_SCOPESÚMICROSOFT_AUTH_EXTRA_PARAMETERSÚMICROSOFT_AUTH_AUTO_CREATEÚ&MICROSOFT_AUTH_REGISTER_INACTIVE_ADMINÚ MICROSOFT_AUTH_XBL_SYNC_USERNAMEÚ$MICROSOFT_AUTH_AUTO_REPLACE_ACCOUNTSr	   r
   ÚMICROSOFT_AUTH_PROXIESzMicrosoft Login)r   r   r   r   r   r   r   r   r   r   r   r	   r
   zdjango.forms.fields.ChoiceFieldzdjango.forms.SelectzMicrosoft Authz	Xbox Live)ÚwidgetÚchoices)ÚdefaultsÚ	fieldsetsÚfieldsc                   ó    — e Zd Zdd„Zd„ Zd„ Zy)ÚSimpleConfigNc                 ó:   — i | _         |r| j                  |«       y y ©N)Ú	_defaultsÚadd_default_config)ÚselfÚconfigs     ú_/var/www/python-projects/worksol/worksolenv/lib/python3.12/site-packages/microsoft_auth/conf.pyÚ__init__zSimpleConfig.__init__Û   s   € ØˆŒáØ×#Ñ# FÕ+ð ó    c                 ó„   — i }|d   j                  «       D ]  \  }}|d   ||<   Œ | j                  j                  |«       y )Nr   r   )Úitemsr%   Úupdate)r'   r(   Útmp_dictÚkeyÚvalues        r)   r&   zSimpleConfig.add_default_configá   sI   € Øˆà  Ñ,×2Ñ2Ó4ò 	%‰JˆCØ! !™HˆHSŠMð	%ð 	‰×Ñ˜hÕ'r+   c                 óè   — d }	 t        t        |«      }|€t        r	 t        t        |«      }|€	 | j                  |   }|S |S # t        $ r Y Œ:w xY w# t        $ r Y Œ0w xY w# t
        $ r t        ‚w xY wr$   )ÚgetattrÚsettingsÚAttributeErrorÚconstance_configr%   ÚKeyError)r'   ÚattrÚvals      r)   Ú__getattr__zSimpleConfig.__getattr__é   s–   € Øˆð	äœ( DÓ)ˆCð ˆ;Õ+ðÜÔ.°Ó5ð ˆ;ð%Ø—n‘n TÑ*ð ˆ
ˆsˆ
øô% ò 	Ùð	ûô "ò Ùðûô ò %Ü$Ð$ð%ús-   „A A °A! Á	AÁAÁ	AÁAÁ!A1r$   )Ú__name__Ú
__module__Ú__qualname__r*   r&   r:   © r+   r)   r"   r"   Ú   s   „ ó,ò(ór+   r"   c                  ó€  — ddl m}  | adt        j                  v rddlma nd at        t        dd «      }|t|j                  d«      \  }}}t        |«      }t        ||«      at        t        «      r
t	        «       at        t        d«      rt        j                  t        «       t        S t        t        «      at        S )Nr   )r4   Ú	constance)r(   ÚMICROSOFT_AUTH_CONFIG_CLASSú.r&   )Údjango.confr4   ÚINSTALLED_APPSr@   r(   r6   r3   Ú
rpartitionr   ÚcallableÚhasattrr&   ÚDEFAULT_CONFIGr"   )Údjango_settingsÚauth_config_classÚmoduleÚ_ÚobjÚconfs         r)   Úinit_configrO     s©   € õ 8à€Hð ”h×-Ñ-Ñ-Þ8àÐô  ¤Ð*GÈÓNÐØÐ$Ø*×5Ñ5°cÓ:‰ˆ3Ü˜VÓ$ˆÜ˜˜sÓ#ˆä”FÔÜ“XˆFä”6Ð/Ô0Ü×%Ñ%¤nÔ5ô €Mô œnÓ-ˆä€Mr+   c                  ó~   — |j                  d|j                  d«      «      }|j                  d«      rt        «        y y )NÚsettingr0   ÚMICROSOFT_AUTH_)ÚgetÚ
startswithrO   )ÚargsÚkwargsrQ   s      r)   Úreload_settingsrW   /  s8   € ð j‰j˜ F§J¡J¨uÓ$5Ó6€Gð ×ÑÐ+Ô,Üð -r+   )Ú	importlibr   Údjango.test.signalsr   Údjango.utils.functionalr   Údjango.utils.translationr   rL   r6   r4   ÚLOGIN_TYPE_MAÚLOGIN_TYPE_XBLÚHOOK_SETTINGSÚCACHE_TIMEOUTÚCACHE_KEY_OPENIDÚCACHE_KEY_JWKSÚboolÚstrÚdictrH   r"   rO   r(   rW   Úconnectr>   r+   r)   ú<module>rf      sT  ðÝ #å /Ý 4Ý 6àÐ Ø€ðð( €Ø€à&Ø"ð€ð €Ø1Ð Ø&€ð
 ÙÐ@ÓAØð)
ð Ùðóð  ð
&
ð ÙÐ.Ó/Øð%
ð Ùð=óð ð%
ð Ùð=óð ð)
ð Ùðóð ð
(
ð Ùð óð ð	,
ð Ùð"óð ð'
ð ÙðGóð ð	3
ð Ùðóð ð-
ð Ùð9óð ð1
ð Ùðóð ð!-
ð& Ùðóð* ð/)
ð4 ÙðYóð ð#
ñQPðd 	ð 
ðð$ 	Ø-à/à"Ð$4Ð5Ø# [Ð1ðñð	
ðñGo€÷d(ñ (òVð@ñ 
˜+Ó	&€òð €× Ñ ˜Õ (r+   