
    i?1iE                         d Z ddlmZ ddlmZmZmZmZmZmZm	Z	 ddl
mZmZ ddlmZ ddlmZ ddlmZ ddlmZ dd	lmZ  G d
 de      Z G d de      Z G d de      Z G d de      Zy)a  
    This code was generated by
   ___ _ _ _ _ _    _ ____    ____ ____ _    ____ ____ _  _ ____ ____ ____ ___ __   __
    |  | | | | |    | |  | __ |  | |__| | __ | __ |___ |\ | |___ |__/ |__|  | |  | |__/
    |  |_|_| | |___ | |__|    |__| |  | |    |__] |___ | \| |___ |  \ |  |  | |__| |  \

    Twilio - Api
    This is the public Twilio REST API.

    NOTE: This class is auto generated by OpenAPI Generator.
    https://openapi-generator.tech
    Do not edit the class manually.
    )datetime)AnyDictListOptionalUnionIteratorAsyncIterator)deserializevalues)InstanceContext)InstanceResource)ListResource)Version)Pagec            
           e Zd Z G d de      Z G d de      Z G d de      Z	 	 ddedee	e
f   d	e	d
ee	   f fdZedd       ZdefdZdefdZddZddZej*                  ej*                  ej*                  fdee	ef   dee	ef   dee	ef   dd fdZej*                  ej*                  ej*                  fdee	ef   dee	ef   dee	ef   dd fdZde	fdZ xZS )TriggerInstancec                       e Zd ZdZdZdZdZy)TriggerInstance.RecurringdailymonthlyyearlyalltimeN)__name__
__module____qualname__DAILYMONTHLYYEARLYALLTIME     u/home/www/therecruiter.miabetepe.com/venv/lib/python3.12/site-packages/twilio/rest/api/v2010/account/usage/trigger.py	Recurringr      s    r"   r$   c                       e Zd ZdZdZdZy)TriggerInstance.TriggerFieldcountusagepriceN)r   r   r   COUNTUSAGEPRICEr!   r"   r#   TriggerFieldr&   !   s    r"   r-   c                      e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNZPdOZQdPZRdQZSdRZTdSZUdTZVdUZWdVZXdWZYdXZZdYZ[dZZ\d[Z]d\Z^d]Z_d^Z`d_Zad`ZbdaZcdbZddcZeddZfdeZgdfZhdgZidhZjdiZkdjZldkZmdlZndmZodnZpdoZqdpZrdqZsdrZtdsZudtZvduZwdvZxdwZydxZzdyZ{dzZ|d{Z}d|Z~d}Zd~ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZy)TriggerInstance.UsageCategoryza2p-registration-feeszagent-conferencezamazon-pollyzanswering-machine-detectionzauthy-authenticationszauthy-calls-outboundzauthy-monthly-feeszauthy-phone-intelligencezauthy-phone-verificationszauthy-sms-outboundzcall-progess-eventscalleridlookupscallszcalls-clientzcalls-globalconferencezcalls-inboundzcalls-inbound-localzcalls-inbound-mobilezcalls-inbound-tollfreezcalls-outboundzcalls-pay-verb-transactionszcalls-recordingsz	calls-sipzcalls-sip-inboundzcalls-sip-outboundzcalls-transferszcarrier-lookupsconversationszconversations-api-requestsz!conversations-conversation-eventsz#conversations-endpoint-connectivityzconversations-eventsz conversations-participant-eventszconversations-participantscpsz
flex-usagezfraud-lookupszgroup-roomszgroup-rooms-data-trackz$group-rooms-encrypted-media-recordedzgroup-rooms-media-downloadedzgroup-rooms-media-recordedzgroup-rooms-media-routedzgroup-rooms-media-storedzgroup-rooms-participant-minuteszgroup-rooms-recorded-minuteszimp-v1-usagelookupsmarketplacez0marketplace-algorithmia-named-entity-recognitionz!marketplace-cadence-transcriptionzmarketplace-cadence-translationz marketplace-capio-speech-to-textzmarketplace-convriza-ababaz$marketplace-deepgram-phrase-detectorz)marketplace-digital-segment-business-infoz(marketplace-facebook-offline-conversionsz!marketplace-google-speech-to-textz'marketplace-ibm-watson-message-insightsz(marketplace-ibm-watson-message-sentimentz)marketplace-ibm-watson-recording-analysisz$marketplace-ibm-watson-tone-analyzerz!marketplace-icehook-systems-scoutz&marketplace-infogroup-dataaxle-bizinfoz,marketplace-keen-io-contact-center-analyticszmarketplace-marchex-cleancallz.marketplace-marchex-sentiment-analysis-for-smsz,marketplace-marketplace-nextcaller-social-idz-marketplace-mobile-commons-opt-out-classifierz&marketplace-nexiwave-voicemail-to-textz5marketplace-nextcaller-advanced-caller-identificationzmarketplace-nomorobo-spam-scorez#marketplace-payfone-tcpa-compliancez2marketplace-remeeting-automatic-speech-recognitionz1marketplace-tcpa-defense-solutions-blacklist-feedzmarketplace-telo-opencnamzmarketplace-truecnam-true-spamz(marketplace-twilio-caller-name-lookup-usz-marketplace-twilio-carrier-information-lookupzmarketplace-voicebase-pciz#marketplace-voicebase-transcriptionz5marketplace-voicebase-transcription-custom-vocabularyz0marketplace-whitepages-pro-caller-identificationz-marketplace-whitepages-pro-phone-intelligencez+marketplace-whitepages-pro-phone-reputationz"marketplace-wolfarm-spoken-resultsz marketplace-wolfram-short-answerz4marketplace-ytica-contact-center-reporting-analyticsmediastoragemmszmms-inboundzmms-inbound-longcodezmms-inbound-shortcodezmms-messages-carrierfeeszmms-outboundzmms-outbound-longcodezmms-outbound-shortcodezmonitor-readszmonitor-storagezmonitor-writesnotifyznotify-actions-attemptsznotify-channelsznumber-format-lookupspchatzpchat-usersz&peer-to-peer-rooms-participant-minutespfaxzpfax-minuteszpfax-minutes-inboundzpfax-minutes-outboundz
pfax-pagesphonenumberszphonenumbers-cpszphonenumbers-emergencyzphonenumbers-localzphonenumbers-mobilezphonenumbers-setupszphonenumbers-tollfreepremiumsupportproxyzproxy-active-sessionspstnconnectivitypvzpv-composition-media-downloadedzpv-composition-media-encryptedzpv-composition-media-storedzpv-composition-minuteszpv-recording-compositionszpv-room-participantszpv-room-participants-au1zpv-room-participants-br1zpv-room-participants-ie1zpv-room-participants-jp1zpv-room-participants-sg1zpv-room-participants-us1zpv-room-participants-us2zpv-roomszpv-sip-endpoint-registrations
recordingsrecordingstoragezrooms-group-bandwidthzrooms-group-minuteszrooms-peer-to-peer-minutes
shortcodeszshortcodes-customerownedzshortcodes-mms-enablementzshortcodes-mpszshortcodes-randomzshortcodes-ukzshortcodes-vanityzsmall-group-roomszsmall-group-rooms-data-trackz%small-group-rooms-participant-minutessmszsms-inboundzsms-inbound-longcodezsms-inbound-shortcodezsms-messages-carrierfeeszsms-messages-featureszsms-messages-features-senderidzsms-outboundzsms-outbound-content-inspectionzsms-outbound-longcodezsms-outbound-shortcodezspeech-recognitionzstudio-engagementssynczsync-actionszsync-endpoint-hoursz#sync-endpoint-hours-above-daily-capztaskrouter-tasks
totalpricetranscriptionsztrunking-cpsztrunking-emergency-callsztrunking-originationztrunking-origination-localztrunking-origination-mobileztrunking-origination-tollfreeztrunking-recordingsztrunking-secureztrunking-terminationz
tts-googleturnmegabyteszturnmegabytes-australiazturnmegabytes-brasilzturnmegabytes-germanyzturnmegabytes-indiazturnmegabytes-irelandzturnmegabytes-japanzturnmegabytes-singaporezturnmegabytes-useastzturnmegabytes-uswestztwilio-interconnectzverify-pushzverify-totpz0verify-whatsapp-conversations-business-initiatedzvideo-recordingszvirtual-agentzvoice-insightsz/voice-insights-client-insights-on-demand-minutez-voice-insights-ptsn-insights-on-demand-minutez6voice-insights-sip-interface-insights-on-demand-minutez5voice-insights-sip-trunking-insights-on-demand-minutezvoice-intelligencez voice-intelligence-transcriptionzvoice-intelligence-operatorswirelesszwireless-orderszwireless-orders-artworkzwireless-orders-bulkzwireless-orders-esimzwireless-orders-starterzwireless-usagezwireless-usage-commandszwireless-usage-commands-africazwireless-usage-commands-asiaz.wireless-usage-commands-centralandsouthamericazwireless-usage-commands-europezwireless-usage-commands-homez$wireless-usage-commands-northamericazwireless-usage-commands-oceaniazwireless-usage-commands-roamingzwireless-usage-datazwireless-usage-data-africazwireless-usage-data-asiaz*wireless-usage-data-centralandsouthamericaz'wireless-usage-data-custom-additionalmbz#wireless-usage-data-custom-first5mbz$wireless-usage-data-domestic-roamingzwireless-usage-data-europez+wireless-usage-data-individual-additionalgbz&wireless-usage-data-individual-firstgbz0wireless-usage-data-international-roaming-canadaz/wireless-usage-data-international-roaming-indiaz0wireless-usage-data-international-roaming-mexicoz wireless-usage-data-northamericazwireless-usage-data-oceaniazwireless-usage-data-pooledz#wireless-usage-data-pooled-downlinkz!wireless-usage-data-pooled-uplinkzwireless-usage-mrczwireless-usage-mrc-customzwireless-usage-mrc-individualzwireless-usage-mrc-pooledzwireless-usage-mrc-suspendedzwireless-usage-smszwireless-usage-voiceN)r   r   r   A2P_REGISTRATION_FEESAGENT_CONFERENCEAMAZON_POLLYANSWERING_MACHINE_DETECTIONAUTHY_AUTHENTICATIONSAUTHY_CALLS_OUTBOUNDAUTHY_MONTHLY_FEESAUTHY_PHONE_INTELLIGENCEAUTHY_PHONE_VERIFICATIONSAUTHY_SMS_OUTBOUNDCALL_PROGESS_EVENTSCALLERIDLOOKUPSCALLSCALLS_CLIENTCALLS_GLOBALCONFERENCECALLS_INBOUNDCALLS_INBOUND_LOCALCALLS_INBOUND_MOBILECALLS_INBOUND_TOLLFREECALLS_OUTBOUNDCALLS_PAY_VERB_TRANSACTIONSCALLS_RECORDINGS	CALLS_SIPCALLS_SIP_INBOUNDCALLS_SIP_OUTBOUNDCALLS_TRANSFERSCARRIER_LOOKUPSCONVERSATIONSCONVERSATIONS_API_REQUESTS!CONVERSATIONS_CONVERSATION_EVENTS#CONVERSATIONS_ENDPOINT_CONNECTIVITYCONVERSATIONS_EVENTS CONVERSATIONS_PARTICIPANT_EVENTSCONVERSATIONS_PARTICIPANTSCPS
FLEX_USAGEFRAUD_LOOKUPSGROUP_ROOMSGROUP_ROOMS_DATA_TRACK$GROUP_ROOMS_ENCRYPTED_MEDIA_RECORDEDGROUP_ROOMS_MEDIA_DOWNLOADEDGROUP_ROOMS_MEDIA_RECORDEDGROUP_ROOMS_MEDIA_ROUTEDGROUP_ROOMS_MEDIA_STOREDGROUP_ROOMS_PARTICIPANT_MINUTESGROUP_ROOMS_RECORDED_MINUTESIMP_V1_USAGELOOKUPSMARKETPLACE0MARKETPLACE_ALGORITHMIA_NAMED_ENTITY_RECOGNITION!MARKETPLACE_CADENCE_TRANSCRIPTIONMARKETPLACE_CADENCE_TRANSLATION MARKETPLACE_CAPIO_SPEECH_TO_TEXTMARKETPLACE_CONVRIZA_ABABA$MARKETPLACE_DEEPGRAM_PHRASE_DETECTOR)MARKETPLACE_DIGITAL_SEGMENT_BUSINESS_INFO(MARKETPLACE_FACEBOOK_OFFLINE_CONVERSIONS!MARKETPLACE_GOOGLE_SPEECH_TO_TEXT'MARKETPLACE_IBM_WATSON_MESSAGE_INSIGHTS(MARKETPLACE_IBM_WATSON_MESSAGE_SENTIMENT)MARKETPLACE_IBM_WATSON_RECORDING_ANALYSIS$MARKETPLACE_IBM_WATSON_TONE_ANALYZER!MARKETPLACE_ICEHOOK_SYSTEMS_SCOUT&MARKETPLACE_INFOGROUP_DATAAXLE_BIZINFO,MARKETPLACE_KEEN_IO_CONTACT_CENTER_ANALYTICSMARKETPLACE_MARCHEX_CLEANCALL.MARKETPLACE_MARCHEX_SENTIMENT_ANALYSIS_FOR_SMS,MARKETPLACE_MARKETPLACE_NEXTCALLER_SOCIAL_ID-MARKETPLACE_MOBILE_COMMONS_OPT_OUT_CLASSIFIER&MARKETPLACE_NEXIWAVE_VOICEMAIL_TO_TEXT5MARKETPLACE_NEXTCALLER_ADVANCED_CALLER_IDENTIFICATIONMARKETPLACE_NOMOROBO_SPAM_SCORE#MARKETPLACE_PAYFONE_TCPA_COMPLIANCE2MARKETPLACE_REMEETING_AUTOMATIC_SPEECH_RECOGNITION1MARKETPLACE_TCPA_DEFENSE_SOLUTIONS_BLACKLIST_FEEDMARKETPLACE_TELO_OPENCNAMMARKETPLACE_TRUECNAM_TRUE_SPAM(MARKETPLACE_TWILIO_CALLER_NAME_LOOKUP_US-MARKETPLACE_TWILIO_CARRIER_INFORMATION_LOOKUPMARKETPLACE_VOICEBASE_PCI#MARKETPLACE_VOICEBASE_TRANSCRIPTION5MARKETPLACE_VOICEBASE_TRANSCRIPTION_CUSTOM_VOCABULARY0MARKETPLACE_WHITEPAGES_PRO_CALLER_IDENTIFICATION-MARKETPLACE_WHITEPAGES_PRO_PHONE_INTELLIGENCE+MARKETPLACE_WHITEPAGES_PRO_PHONE_REPUTATION"MARKETPLACE_WOLFARM_SPOKEN_RESULTS MARKETPLACE_WOLFRAM_SHORT_ANSWER4MARKETPLACE_YTICA_CONTACT_CENTER_REPORTING_ANALYTICSMEDIASTORAGEMMSMMS_INBOUNDMMS_INBOUND_LONGCODEMMS_INBOUND_SHORTCODEMMS_MESSAGES_CARRIERFEESMMS_OUTBOUNDMMS_OUTBOUND_LONGCODEMMS_OUTBOUND_SHORTCODEMONITOR_READSMONITOR_STORAGEMONITOR_WRITESNOTIFYNOTIFY_ACTIONS_ATTEMPTSNOTIFY_CHANNELSNUMBER_FORMAT_LOOKUPSPCHATPCHAT_USERS&PEER_TO_PEER_ROOMS_PARTICIPANT_MINUTESPFAXPFAX_MINUTESPFAX_MINUTES_INBOUNDPFAX_MINUTES_OUTBOUND
PFAX_PAGESPHONENUMBERSPHONENUMBERS_CPSPHONENUMBERS_EMERGENCYPHONENUMBERS_LOCALPHONENUMBERS_MOBILEPHONENUMBERS_SETUPSPHONENUMBERS_TOLLFREEPREMIUMSUPPORTPROXYPROXY_ACTIVE_SESSIONSPSTNCONNECTIVITYPVPV_COMPOSITION_MEDIA_DOWNLOADEDPV_COMPOSITION_MEDIA_ENCRYPTEDPV_COMPOSITION_MEDIA_STOREDPV_COMPOSITION_MINUTESPV_RECORDING_COMPOSITIONSPV_ROOM_PARTICIPANTSPV_ROOM_PARTICIPANTS_AU1PV_ROOM_PARTICIPANTS_BR1PV_ROOM_PARTICIPANTS_IE1PV_ROOM_PARTICIPANTS_JP1PV_ROOM_PARTICIPANTS_SG1PV_ROOM_PARTICIPANTS_US1PV_ROOM_PARTICIPANTS_US2PV_ROOMSPV_SIP_ENDPOINT_REGISTRATIONS
RECORDINGSRECORDINGSTORAGEROOMS_GROUP_BANDWIDTHROOMS_GROUP_MINUTESROOMS_PEER_TO_PEER_MINUTES
SHORTCODESSHORTCODES_CUSTOMEROWNEDSHORTCODES_MMS_ENABLEMENTSHORTCODES_MPSSHORTCODES_RANDOMSHORTCODES_UKSHORTCODES_VANITYSMALL_GROUP_ROOMSSMALL_GROUP_ROOMS_DATA_TRACK%SMALL_GROUP_ROOMS_PARTICIPANT_MINUTESSMSSMS_INBOUNDSMS_INBOUND_LONGCODESMS_INBOUND_SHORTCODESMS_MESSAGES_CARRIERFEESSMS_MESSAGES_FEATURESSMS_MESSAGES_FEATURES_SENDERIDSMS_OUTBOUNDSMS_OUTBOUND_CONTENT_INSPECTIONSMS_OUTBOUND_LONGCODESMS_OUTBOUND_SHORTCODESPEECH_RECOGNITIONSTUDIO_ENGAGEMENTSSYNCSYNC_ACTIONSSYNC_ENDPOINT_HOURS#SYNC_ENDPOINT_HOURS_ABOVE_DAILY_CAPTASKROUTER_TASKS
TOTALPRICETRANSCRIPTIONSTRUNKING_CPSTRUNKING_EMERGENCY_CALLSTRUNKING_ORIGINATIONTRUNKING_ORIGINATION_LOCALTRUNKING_ORIGINATION_MOBILETRUNKING_ORIGINATION_TOLLFREETRUNKING_RECORDINGSTRUNKING_SECURETRUNKING_TERMINATION
TTS_GOOGLETURNMEGABYTESTURNMEGABYTES_AUSTRALIATURNMEGABYTES_BRASILTURNMEGABYTES_GERMANYTURNMEGABYTES_INDIATURNMEGABYTES_IRELANDTURNMEGABYTES_JAPANTURNMEGABYTES_SINGAPORETURNMEGABYTES_USEASTTURNMEGABYTES_USWESTTWILIO_INTERCONNECTVERIFY_PUSHVERIFY_TOTP0VERIFY_WHATSAPP_CONVERSATIONS_BUSINESS_INITIATEDVIDEO_RECORDINGSVIRTUAL_AGENTVOICE_INSIGHTS/VOICE_INSIGHTS_CLIENT_INSIGHTS_ON_DEMAND_MINUTE-VOICE_INSIGHTS_PTSN_INSIGHTS_ON_DEMAND_MINUTE6VOICE_INSIGHTS_SIP_INTERFACE_INSIGHTS_ON_DEMAND_MINUTE5VOICE_INSIGHTS_SIP_TRUNKING_INSIGHTS_ON_DEMAND_MINUTEVOICE_INTELLIGENCE VOICE_INTELLIGENCE_TRANSCRIPTIONVOICE_INTELLIGENCE_OPERATORSWIRELESSWIRELESS_ORDERSWIRELESS_ORDERS_ARTWORKWIRELESS_ORDERS_BULKWIRELESS_ORDERS_ESIMWIRELESS_ORDERS_STARTERWIRELESS_USAGEWIRELESS_USAGE_COMMANDSWIRELESS_USAGE_COMMANDS_AFRICAWIRELESS_USAGE_COMMANDS_ASIA.WIRELESS_USAGE_COMMANDS_CENTRALANDSOUTHAMERICAWIRELESS_USAGE_COMMANDS_EUROPEWIRELESS_USAGE_COMMANDS_HOME$WIRELESS_USAGE_COMMANDS_NORTHAMERICAWIRELESS_USAGE_COMMANDS_OCEANIAWIRELESS_USAGE_COMMANDS_ROAMINGWIRELESS_USAGE_DATAWIRELESS_USAGE_DATA_AFRICAWIRELESS_USAGE_DATA_ASIA*WIRELESS_USAGE_DATA_CENTRALANDSOUTHAMERICA'WIRELESS_USAGE_DATA_CUSTOM_ADDITIONALMB#WIRELESS_USAGE_DATA_CUSTOM_FIRST5MB$WIRELESS_USAGE_DATA_DOMESTIC_ROAMINGWIRELESS_USAGE_DATA_EUROPE+WIRELESS_USAGE_DATA_INDIVIDUAL_ADDITIONALGB&WIRELESS_USAGE_DATA_INDIVIDUAL_FIRSTGB0WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_CANADA/WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_INDIA0WIRELESS_USAGE_DATA_INTERNATIONAL_ROAMING_MEXICO WIRELESS_USAGE_DATA_NORTHAMERICAWIRELESS_USAGE_DATA_OCEANIAWIRELESS_USAGE_DATA_POOLED#WIRELESS_USAGE_DATA_POOLED_DOWNLINK!WIRELESS_USAGE_DATA_POOLED_UPLINKWIRELESS_USAGE_MRCWIRELESS_USAGE_MRC_CUSTOMWIRELESS_USAGE_MRC_INDIVIDUALWIRELESS_USAGE_MRC_POOLEDWIRELESS_USAGE_MRC_SUSPENDEDWIRELESS_USAGE_SMSWIRELESS_USAGE_VOICEr!   r"   r#   UsageCategoryr/   &   s=    7-%&C# 751#= $?!13+%!9'35!9)&C#-	/1++'%A",O).S+5+M(%A"!
'#!9/U,'E$%A"#= #= *K''E$%#> 	9 -P)*K'+M(%A"/U,7 	2 7 	1 -P)5 	0 7 	1 8 	2 0V,,O)4 	/ ; 	5 )H%< 	7 ; 	5 < 	6 5 	/ D 	> +L'.S+@ 	; @ 	: %@!)I&6 	1 < 	6 %@!.S+C 	> ? 	9 < 	6 : 	4 .R*+M(B 	= &#5 7#= % 7!9'+)";+ 7#4 	/ %5 7!
%-!9133 7) 7-*K')I&&C#!9$?!5#= #= #= #= #= #= #= (G%!
- 73%A"!
#= $?!)/'//'E$0W-#5 7#=  7)I&%*K' 7!911%3.S+-!
)%#= 5%A"&C#(G%3+5!
'";5 73 73";553##> 	9 .')= 	8 < 	6 E 	? D 	> 2+M('E$+";55";)";)I&'E$< 	7 *J&'E$/U,*K'*K'3%A"#= 8 	3 6 	0 /T+/U,%A"9 	4 5 	/ ? 	9 > 	8 ? 	9 ,N(&C#%A".S+,O)1$?!(G%$?!'E$15r"   rB  versionpayloadaccount_sidsidc                    t         |   |       |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        t        j                  |j                  d            | _
        t        j                  |j                  d            | _        t        j                  |j                  d            | _        |j                  d	      | _        |j                  d
      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        ||xs | j                  d| _        d | _        y )NrE  api_versioncallback_methodcallback_urlcurrent_valuedate_created
date_fireddate_updatedfriendly_name	recurringrF  
trigger_bytrigger_valueuriusage_categoryusage_record_urirE  rF  )super__init__getrE  rH  rI  rJ  rK  r   rfc2822_datetimerL  rM  rN  rO  rP  rF  rQ  rR  rS  rT  rU  	_solution_context)selfrC  rD  rE  rF  	__class__s        r#   rX  zTriggerInstance.__init__|  s}    	!*1++m*D*1++m*D.5kk:K.L+2;;~+F,3KK,H0;0L0LKK'1
 /:.J.JKK%/
 1<0L0LKK'1
 -4KK,H@GK@X")++e"4DKKKE
 -4KK,H")++e"4IPJ
 07{{;M/N '?$((
 37r"   returnc                     | j                   7t        | j                  | j                  d   | j                  d         | _         | j                   S )z
        Generate an instance context for the instance, the context is capable of
        performing various actions. All instance actions are proxied to the context

        :returns: TriggerContext for this TriggerInstance
        rE  rF  rV  )r\  TriggerContext_versionr[  r]  s    r#   _proxyzTriggerInstance._proxy  sE     == * NN=9NN5)DM
 }}r"   c                 6    | j                   j                         S )j
        Deletes the TriggerInstance


        :returns: True if delete succeeds, False otherwise
        )rd  deleterc  s    r#   rg  zTriggerInstance.delete  s     {{!!##r"   c                 R   K   | j                   j                          d{   S 7 w)
        Asynchronous coroutine that deletes the TriggerInstance


        :returns: True if delete succeeds, False otherwise
        N)rd  delete_asyncrc  s    r#   rj  zTriggerInstance.delete_async  s!      [[--////   '%'c                 6    | j                   j                         S )[
        Fetch the TriggerInstance


        :returns: The fetched TriggerInstance
        )rd  fetchrc  s    r#   rn  zTriggerInstance.fetch  s     {{  ""r"   c                 R   K   | j                   j                          d{   S 7 w)u
        Asynchronous coroutine to fetch the TriggerInstance


        :returns: The fetched TriggerInstance
        N)rd  fetch_asyncrc  s    r#   rq  zTriggerInstance.fetch_async  s!      [[,,....rk  rI  rJ  rO  c                 >    | j                   j                  |||      S )  
        Update the TriggerInstance

        :param callback_method: The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.
        :param callback_url: The URL we should call using `callback_method` when the trigger fires.
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.

        :returns: The updated TriggerInstance
        rI  rJ  rO  )rd  updater]  rI  rJ  rO  s       r#   ru  zTriggerInstance.update  s)     {{!!+%' " 
 	
r"   c                 Z   K   | j                   j                  |||       d{   S 7 w)  
        Asynchronous coroutine to update the TriggerInstance

        :param callback_method: The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.
        :param callback_url: The URL we should call using `callback_method` when the trigger fires.
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.

        :returns: The updated TriggerInstance
        rt  N)rd  update_asyncrv  s       r#   ry  zTriggerInstance.update_async  s7      [[--+%' . 
 
 	
 
s   "+)+c                     dj                  d | j                  j                         D              }dj                  |      S )f
        Provide a friendly representation

        :returns: Machine friendly representation
         c              3   F   K   | ]  \  }}d j                  ||        ywz{}={}Nformat.0kvs      r#   	<genexpr>z+TriggerInstance.__repr__.<locals>.<genexpr>
       SDAq7>>!Q/S   !z%<Twilio.Api.V2010.TriggerInstance {}>joinr[  itemsr  r]  contexts     r#   __repr__zTriggerInstance.__repr__  s6     ((SDNN<P<P<RSS6==gFFr"   )N)r_  ra  )r_  r   )r   r   r   objectr$   r-   rB  r   r   strr   r   rX  propertyrd  boolrg  rj  rn  rq  r   unsetr   ru  ry  r  __classcell__r^  s   @r#   r   r      sj   F v 
A6 A6F
0 "(7(7 c3h(7 	(7
 c](7T  $ $0D 0#/ /5ll+1<<,2LL	
sF{+
 CK(
 S&[)	

 

. /5ll+1<<,2LL	
sF{+
 CK(
 S&[)	

 

*G# Gr"   r   c            	       \    e Zd Zdededef fdZdefdZdefdZde	fdZ
de	fd	Zej                  ej                  ej                  fd
eeef   deeef   deeef   de	fdZej                  ej                  ej                  fd
eeef   deeef   deeef   de	fdZdefdZ xZS )ra  rC  rE  rF  c                 z    t         |   |       ||d| _         dj                  di | j                  | _        y)am  
        Initialize the TriggerContext

        :param version: Version that contains the resource
        :param account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to update.
        :param sid: The Twilio-provided string that uniquely identifies the UsageTrigger resource to update.
        rV  z1/Accounts/{account_sid}/Usage/Triggers/{sid}.jsonNr!   rW  rX  r[  r  _uri)r]  rC  rE  rF  r^  s       r#   rX  zTriggerContext.__init__  sG     	! '
 OGNN 
nn
	r"   r_  c                 P    | j                   j                  d| j                        S )rf  DELETEmethodrS  )rb  rg  r  rc  s    r#   rg  zTriggerContext.delete"  s*     }}##		 $ 
 	
r"   c                 l   K   | j                   j                  d| j                         d{   S 7 w)ri  r  r  N)rb  rj  r  rc  s    r#   rj  zTriggerContext.delete_async.  s8      ]]//		 0 
 
 	
 
s   +424c                     | j                   j                  d| j                        }t        | j                   || j                  d   | j                  d         S )rm  GETr  rE  rF  rV  )rb  rn  r  r   r[  r]  rD  s     r#   rn  zTriggerContext.fetch:  sX     --%%		 & 

 MM}5u%	
 	
r"   c                    K   | j                   j                  d| j                         d{   }t        | j                   || j                  d   | j                  d         S 7 7w)rp  r  r  NrE  rF  rV  )rb  rq  r  r   r[  r  s     r#   rq  zTriggerContext.fetch_asyncN  sf      11		 2 
 

 MM}5u%	
 	

s   +A'A%8A'rI  rJ  rO  c                     t        j                  |||d      }| j                  j                  d| j                  |      }t        | j                  || j                  d   | j                  d         S )rs  CallbackMethodCallbackUrlFriendlyNamePOSTr  rS  datarE  rF  rV  )r   ofrb  ru  r  r   r[  r]  rI  rJ  rO  r  rD  s         r#   ru  zTriggerContext.updateb  sy     yy"1+ -
 --&&		 ' 
 MM}5u%	
 	
r"   c                   K   t        j                  |||d      }| j                  j                  d| j                  |       d{   }t        | j                  || j                  d   | j                  d         S 7 7w)rx  r  r  r  NrE  rF  rV  )r   r  rb  ry  r  r   r[  r  s         r#   ry  zTriggerContext.update_async  s      yy"1+ -
 22		 3 
 
 MM}5u%	
 	

s   ABA?8Bc                     dj                  d | j                  j                         D              }dj                  |      S )r{  r|  c              3   F   K   | ]  \  }}d j                  ||        ywr~  r  r  s      r#   r  z*TriggerContext.__repr__.<locals>.<genexpr>  r  r  z$<Twilio.Api.V2010.TriggerContext {}>r  r  s     r#   r  zTriggerContext.__repr__  s6     ((SDNN<P<P<RSS5<<WEEr"   )r   r   r   r   r  rX  r  rg  rj  r   rn  rq  r   r  r   r  ru  ry  r  r  r  s   @r#   ra  ra    s   
 
c 
 
&

 



D 


 
(
? 
, /5ll+1<<,2LL	"
sF{+"
 CK("
 S&[)	"

 
"
L /5ll+1<<,2LL	"
sF{+"
 CK("
 S&[)	"

 
"
HF# Fr"   ra  c                   2    e Zd Zdeeef   defdZdefdZy)TriggerPagerD  r_  c                 L    t        | j                  || j                  d         S )zm
        Build an instance of TriggerInstance

        :param payload: Payload response from the API
        rE  rE  )r   rb  r[  r  s     r#   get_instancezTriggerPage.get_instance  s%     MM7}0M
 	
r"   c                      y)r{  z<Twilio.Api.V2010.TriggerPage>r!   rc  s    r#   r  zTriggerPage.__repr__       0r"   N)	r   r   r   r   r  r   r   r  r  r!   r"   r#   r  r    s)    
DcN 
 
0# 0r"   r  c                       e Zd Zdedef fdZej                  ej                  ej                  ej                  fdededddeee	f   d	eee	f   d
ede	f   dede	f   de
fdZej                  ej                  ej                  ej                  fdededddeee	f   d	eee	f   d
ede	f   dede	f   de
fdZej                  ej                  ej                  ddfd
ede	f   dede	f   dede	f   dee   dee   dee
   fdZej                  ej                  ej                  ddfd
ede	f   dede	f   dede	f   dee   dee   dee
   fdZej                  ej                  ej                  ddfd
ede	f   dede	f   dede	f   dee   dee   dee
   fdZej                  ej                  ej                  ddfd
ede	f   dede	f   dede	f   dee   dee   dee
   fdZej                  ej                  ej                  ej                  ej                  ej                  fd
ede	f   dede	f   dede	f   deee	f   deee	f   deee	f   defdZej                  ej                  ej                  ej                  ej                  ej                  fd
ede	f   dede	f   dede	f   deee	f   deee	f   deee	f   defdZdedefdZdedefdZdedefd Zdedefd!Zdefd"Z xZS )#TriggerListrC  rE  c                 x    t         |   |       d|i| _         dj                  di | j                  | _        y)z
        Initialize the TriggerList

        :param version: Version that contains the resource
        :param account_sid: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the UsageTrigger resources to read.

        rE  z+/Accounts/{account_sid}/Usage/Triggers.jsonNr!   r  )r]  rC  rE  r^  s      r#   rX  zTriggerList.__init__  sF     	! ;
 IAHH 
nn
	r"   rJ  rR  rT  r/   rI  rO  rP  r   rQ  r&   r_  c           
          t        j                  |||||||d      }| j                  j                  d| j                  |      }	t        | j                  |	| j                  d         S )a  
        Create the TriggerInstance

        :param callback_url: The URL we should call using `callback_method` when the trigger fires.
        :param trigger_value: The usage value at which the trigger should fire.  For convenience, you can use an offset value such as `+30` to specify a trigger_value that is 30 units more than the current usage value. Be sure to urlencode a `+` as `%2B`.
        :param usage_category:
        :param callback_method: The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param recurring:
        :param trigger_by:

        :returns: The created TriggerInstance
        r  TriggerValuerB  r  r  r$   	TriggerByr  r  rE  r  )r   r  rb  creater  r   r[  
r]  rJ  rR  rT  rI  rO  rP  rQ  r  rD  s
             r#   r  zTriggerList.create  sw    . yy+ -!/"1 -&'

 --&&		 ' 
 MM7}0M
 	
r"   c           
         K   t        j                  |||||||d      }| j                  j                  d| j                  |       d{   }	t        | j                  |	| j                  d         S 7 )w)a-  
        Asynchronously create the TriggerInstance

        :param callback_url: The URL we should call using `callback_method` when the trigger fires.
        :param trigger_value: The usage value at which the trigger should fire.  For convenience, you can use an offset value such as `+30` to specify a trigger_value that is 30 units more than the current usage value. Be sure to urlencode a `+` as `%2B`.
        :param usage_category:
        :param callback_method: The HTTP method we should use to call `callback_url`. Can be: `GET` or `POST` and the default is `POST`.
        :param friendly_name: A descriptive string that you create to describe the resource. It can be up to 64 characters long.
        :param recurring:
        :param trigger_by:

        :returns: The created TriggerInstance
        r  r  r  NrE  r  )r   r  rb  create_asyncr  r   r[  r  s
             r#   r  zTriggerList.create_async  s     . yy+ -!/"1 -&'

 22		 3 
 
 MM7}0M
 	

s   A	A7A5*A7Nlimit	page_sizec                     | j                   j                  ||      }| j                  ||||d         }| j                   j                  ||d         S )a[  
        Streams TriggerInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param &quot;TriggerInstance.Recurring&quot; recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param &quot;TriggerInstance.TriggerField&quot; trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param &quot;TriggerInstance.UsageCategory&quot; usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  rP  rQ  rT  r  r  )rb  read_limitspagestreamr]  rP  rQ  rT  r  r  limitsr  s           r#   r  zTriggerList.stream5  s[    4 **5)<yy!)[)	  
 }}##D&/::r"   c                    K   | j                   j                  ||      }| j                  ||||d          d{   }| j                   j                  ||d         S 7 #w)aj  
        Asynchronously streams TriggerInstance records from the API as a generator stream.
        This operation lazily loads records as efficiently as possible until the limit
        is reached.
        The results are returned as a generator, so this operation is memory efficient.

        :param &quot;TriggerInstance.Recurring&quot; recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param &quot;TriggerInstance.TriggerField&quot; trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param &quot;TriggerInstance.UsageCategory&quot; usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param limit: Upper limit for the number of records to return. stream()
                      guarantees to never return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, stream() will attempt to read the
                          limit with the most efficient page size, i.e. min(limit, 1000)

        :returns: Generator that will yield up to limit results
        r  r  Nr  )rb  r  
page_asyncstream_asyncr  s           r#   r  zTriggerList.stream_asyncY  si     4 **5)<__!)[)	 % 
 
 }}))$w@@
s   8A A$A c           	      @    t        | j                  |||||            S )a  
        Lists TriggerInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param &quot;TriggerInstance.Recurring&quot; recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param &quot;TriggerInstance.TriggerField&quot; trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param &quot;TriggerInstance.UsageCategory&quot; usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        rP  rQ  rT  r  r  )listr  )r]  rP  rQ  rT  r  r  s         r#   r  zTriggerList.list}  s1    2 KK#%-#  
 	
r"   c                    K   | j                  |||||       d{   2 cg c3 d{   }|7 7 	6 c}S c c}w w)a  
        Asynchronously lists TriggerInstance records from the API as a list.
        Unlike stream(), this operation is eager and will load `limit` records into
        memory before returning.

        :param &quot;TriggerInstance.Recurring&quot; recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param &quot;TriggerInstance.TriggerField&quot; trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param &quot;TriggerInstance.UsageCategory&quot; usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param limit: Upper limit for the number of records to return. list() guarantees
                      never to return more than limit.  Default is no limit
        :param page_size: Number of records to fetch per request, when not set will use
                          the default value of 50 records.  If no page_size is defined
                          but a limit is defined, list() will attempt to read the limit
                          with the most efficient page size, i.e. min(limit, 1000)

        :returns: list that will contain up to limit results
        r  N)r  )r]  rP  rQ  rT  r  r  records          r#   
list_asynczTriggerList.list_async  s]     6 '+&7&7#%-# '8 ' !	
 	
 !	
 	
 		
 	
s0   >1>953
59>59>
page_tokenpage_numberc           	          t        j                  ||||||d      }| j                  j                  d| j                  |      }t        | j                  || j                        S )a  
        Retrieve a single page of TriggerInstance records from the API.
        Request is executed immediately

        :param recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of TriggerInstance
        r$   r  rB  	PageTokenr   PageSizer  r  rS  params)r   r  rb  r  r  r  r[  	r]  rP  rQ  rT  r  r  r  r  responses	            r#   r  zTriggerList.page  sa    , yy&'!/'#%	
 ==%%U		$%O4==(DNNCCr"   c           	         K   t        j                  ||||||d      }| j                  j                  d| j                  |       d{   }t        | j                  || j                        S 7 %w)a  
        Asynchronously retrieve a single page of TriggerInstance records from the API.
        Request is executed immediately

        :param recurring: The frequency of recurring UsageTriggers to read. Can be: `daily`, `monthly`, or `yearly` to read recurring UsageTriggers. An empty value or a value of `alltime` reads non-recurring UsageTriggers.
        :param trigger_by: The trigger field of the UsageTriggers to read.  Can be: `count`, `usage`, or `price` as described in the [UsageRecords documentation](https://www.twilio.com/docs/usage/api/usage-record#usage-count-price).
        :param usage_category: The usage category of the UsageTriggers to read. Must be a supported [usage categories](https://www.twilio.com/docs/usage/api/usage-record#usage-categories).
        :param page_token: PageToken provided by the API
        :param page_number: Page Number, this value is simply for client state
        :param page_size: Number of records to return, defaults to 50

        :returns: Page of TriggerInstance
        r  r  r  N)r   r  rb  r  r  r  r[  r  s	            r#   r  zTriggerList.page_async  sv     , yy&'!/'#%	
 11dii 2 
 
 4==(DNNCC
s   AA2
A0&A2
target_urlc                     | j                   j                  j                  j                  d|      }t	        | j                   || j
                        S )z
        Retrieve a specific page of TriggerInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of TriggerInstance
        r  )rb  domaintwiliorequestr  r[  r]  r  r  s      r#   get_pagezTriggerList.get_page  s=     ==''..66ujI4==(DNNCCr"   c                    K   | j                   j                  j                  j                  d|       d{   }t	        | j                   || j
                        S 7 %w)a  
        Asynchronously retrieve a specific page of TriggerInstance records from the API.
        Request is executed immediately

        :param target_url: API-generated URL for the requested results page

        :returns: Page of TriggerInstance
        r  N)rb  r  r  request_asyncr  r[  r  s      r#   get_page_asynczTriggerList.get_page_async  sJ      --44BB5*UU4==(DNNCC Vs   4AA&ArF  c                 L    t        | j                  | j                  d   |      S z
        Constructs a TriggerContext

        :param sid: The Twilio-provided string that uniquely identifies the UsageTrigger resource to update.
        rE  rV  ra  rb  r[  r]  rF  s     r#   rY  zTriggerList.get&  %     MMt~~m'D#
 	
r"   c                 L    t        | j                  | j                  d   |      S r  r  r  s     r#   __call__zTriggerList.__call__0  r  r"   c                      y)r{  z<Twilio.Api.V2010.TriggerList>r!   rc  s    r#   r  zTriggerList.__repr__:  r  r"   ) r   r   r   r   r  rX  r   r  r   r  r   r  r  r   intr	   r  r
   r  r   r  r  r  r  r  r  r  ra  rY  r  r  r  r  s   @r#   r  r    s[   
 
c 
. /5ll,2LL@FDJLL+
+
 +
 8	+

 sF{++
 S&[)+
 4f<=+
 8&@A+
 
+
d /5ll,2LL@FDJLL+
+
 +
 8	+

 sF{++
 S&[)+
 4f<=+
 8&@A+
 
+
^ AGDJLLIO##'";4f<="; 8&@A"; =vEF	";
 }"; C="; 
/	"";L AGDJLLIO##'"A4f<="A 8&@A"A =vEF	"A
 }"A C="A 
	'"AL AGDJLLIO##'!
4f<=!
 8&@A!
 =vEF	!

 }!
 C=!
 
o	!
J AGDJLLIO##'"
4f<="
 8&@A"
 =vEF	"

 }"
 C="
 
o	"
L AGDJLLIO)/*0,,(."D4f<="D 8&@A"D =vEF	"D
 #v+&"D 3;'"D f%"D 
"DL AGDJLLIO)/*0,,(.$D4f<=$D 8&@A$D =vEF	$D
 #v+&$D 3;'$D f%$D 
$DL
D3 
D; 
D
Ds 
D{ 
D
s 
~ 

C 
N 
0# 0r"   r  N)__doc__r   typingr   r   r   r   r   r	   r
   twilio.baser   r   twilio.base.instance_contextr   twilio.base.instance_resourcer   twilio.base.list_resourcer   twilio.base.versionr   twilio.base.pager   r   ra  r  r  r!   r"   r#   <module>r     sg     L L L + 8 : 2 ' !qG& qGhcF_ cFL0$ 0(x0, x0r"   