
    sjx                    !   d Z i dddi dg di ddgdd	d
d
ddddidd
dddddidi dd
dd
ddddddddddd d!d"d#d$d%dd&d'd(d)d*dd+d,d-dd.dd/dd0dd1dd2di d3dd4dd5dd6dd7dd8dd9dd:d)d;d<d=d>d?dd@dAdBdCdDdEdFddGd$dHd>dg i d<dIdJi dKdLdMddNdOdPdQdRddSdAdTdUdVg dWddXg dYddZd[d\g d]i d^d_d`d[dad[dbdcdddedg d<dg dfd<ddgdhddddiddi djdkddld$d<d<d<dddd<d<dmdCd<ddd<d<dndodpdqd<drdsdtddudvdwdxd
dydzi d{d|d}d~dddidddddddd<dd)dddddddddddi dddd<dddd
ddddddrddcdd)dd"dddddd<ddcdddddd$d'dCdld'd)d<dddd<ddi d"ddddidddCdddddg dddddddddi dddd<dddg ddddddli dd$dddddddi ddddddddli dddddddd$i dddddddd$i dddddddd$i ddddddd<ddd$i ddd
ddddddi ddddddd$i ddddddddli ddddddddAi ddddddddi ddddddddi ddddddd'i dddddddi ddddddddli ddȜddddd>i dddddd>i ddɜdi dd<ddddΓddtddCddғdd)dddd֓ddddddړdd<dddd<dddd<i dddddd<dd<ddddddddғdd<dddddddddddd<dd<dd<i dddddddddddddd dddddd<dd"dddddddd	d
i dddd"ddidd<idd<idd<g dddd<dddd"ddddd<dd)d<dddddddd"dddddd	ddd<iddd d!id"d#d$d%d&d'd(d)d<dd*d+ddd<d"d,d-d.d/d0d1d2d3d1d4d5d'ddd6d7d8d d9iddd'd:d;ddddd<dCd=ddddsd>d?d"d@dAddBdCddBdDddBddidEdd<d<dFddidGd dHdIdld<ddJddҐdKdddKdLgdMdNd<dd
ddOdPd>d)dddQddRdSdidTdUidVi dWdXdYdZd[d\d]dd^dcd_d`dadbddd<dcdddtddedfdddddddgd,d"ddtdcdd<dhdiddjddridkd$dldd>dmdnddd<ddddodpdqddrdqgddsdqdddtidudvg dg dd<dtd<dd<ddw
dxddydd$dzd<dd"ddd{d|	d}i d~ddddddd<d<i ddi dddddddddd<dd<dddddd<dddldtdddddddddƓdd$di ddddd<dd<dCdld<ddddddg ddddi dd<i dd<d<ddddddi di ddddddddCdddd)g ddd	dg di di di dd<di dd<dd<ddddg ddddd<g g dg dddd<dddddddddddd<d
dddtdCddi ddddddddƓddddddcdddddd
dd
dddd)dƐdǓdddd$dʐdːdid͐dddddrddϐdМidѐddd)dӜddddci d֜di dؐddii dڐdd<iddd<ddddddݐdސdߜddd<di diddd
dd$ddddid)ddCdddlddd<idd<g dd'ddtiddd<dddvdd_ddd<dzd<d)dd$dvd<dddddddi dddddd<iidddtiddddddddddd ddi dddd
dAdddd<dddCd<d"ddddd	d<i dd
ddCddddddddddd<ddd
ddd<ddd<ddddd<d
g ddg g g dddddddddddddZi dd d!d
d<d"dd#d$d%d&d'dd(gd"dd)d*d+d,d-dd"dd#d.d/d0d-dd"dd#d1d2d3d
d<d"dd#d4d5d6d7d<d"dd#d8d9d9d:dd"dd#d;d<d=d
d<d"dd#d>d?d@dAdd"dd#dBdCdDd
d<d"dd#dEdFdGd
dd"dd#dHdIdJd
d<d"dd#dKdLdMdNdd"dd#dOdPdQdNdd"dd#dRdPdQdNdd"dd#dSdTdUd
d<d"dd#dVdWdXdYdd"dd#i dZd[d\d
d<d"dd#d]d^d_dYdd"dd#d`dadadbdd"dd#dcddded
d<d"dd#dfdgdgdhdd"dd#didjdkd
d<d"dd#dldmdmdndd"dd#dodpdqd
d<d"dd#drdsdtdudd"dd#dvdwdxd
d<d"dd#dydzdzd{dd"dd#d|d}d~ddd"dd#dddd
d<d"dd#dddddd"dd#dddd
d<d"dd#dddddd"dddddd<d"di dddddd"dddddd<d"dd#dddd
d<d"dd#dddddd"dd#dddddd"dd#dddd
d<d"dd#dddddd"dd#dddd
d<d"dd#dddddd"ddddd
d<d"dd#dddddd"dd#dddd
d<d"dd#dddddd"ddddd
d<d"dd#ddÐdĐddd"ddƐdǐdd
d<d"dd#dɐdʐdːdd<d"dd#i d͐dΐdd
d<d"dd#dАdѐdҐddd"ddԐdՐdd
d<d"dd#dאdؐdِdڐddgddܐdݜdސdߐddddgddܐdݜddddddgddܐdݜdddd
d<ddd#dddd
d<ddd#dddd
d<ddd#dddd
d<ddd#dddd
dddd#ddddddgddܐdݜddddddgddܐdݜdddd dgd<dܐdݜdddddgddܐdݜddddd	d
gddܐdݜddddd	d
gd<dܐdݜi ddddd	d
gddܐdݜdddd	d
gd<dܐdddddg dd<dddddddd	d
gd<dܐdݜd d!d"dd	d
gddddd#d$d%d&d'd(gddܐdݜd)d*d+d,d'gddܐdݜd-d.d/d0d1d2gddܐdݜd3d4d5d6d7d1gddܐdݜd8d9d:d;ddܐdd<d=d>d?ddܐdd@dAdBdCddܐddDdEdFdGddHdd#dIdJdKdLddHdd#dMdNdOdPddHdd#dQdRdSdTddHdd#dUdVdWdXdYgddܐdݜi dZd[d\dܐd]d^d_d`dadbgddܐdݜdcdddedddfdgdhdidjdkgddܐdݜdldmdndodpgddܐdݜdqdrdsdtdugddܐdݜdvdwdxdddfdydzd{d|d}gddܐdݜd~dddgddܐdddddddfddddd<dܐdddddddܐddddd
d<ddd#dddddddddddd<dddddd<dddddddddi dddd
d<dddddd
d<dddddddddddddddddddddddd<ddddddd<dddddd
ddddddd
d<dddddd
d<dddddd
d<dddĐdŐdƐdd<dddȐdɐdd
ddddːd̐dd
d<dddΐdϐdd
d<dddѐdҐdd
d<ddd#dԐdՐdd
d<ddd#dאdؐdd
d<ddd#i dڐdېdd
d<ddd#dݐdސdd
d<ddd#dddd
dddd#ddddd<dddddd
ddddddd
d<ddddddd]ddddddddddddddddd]ddddd]ddd dd]ddddd]ddddd]ddd	dd]d
ddd
d<dddddd
d<ddi dddd
d<dddddd
dddd#dddd
dddd#dddd
d<ddd#dddd
d<ddd#dd d!d
dddd#d"d#d$d
d<ddd#d%d&d'd
d<ddd#d(d)d*d
d<ddd#d+d,d-d
d<ddd#d.d/d0d
dddd#d1d2d3d
d<ddd4d5d6d
d<ddd7d8d9d
dddd:d;d<d
dd=dd>d?d@d
d<d=ddAdBdCd
d<d=dZd
S (D  zDefault configuration data for Hermes Agent.

Pure-data leaf module: DEFAULT_CONFIG and OPTIONAL_ENV_VARS, extracted
verbatim from hermes_cli/config.py. Must not import from hermes_cli.config.
model 	providersfallback_providerscredential_pool_strategiestoolsetsz
hermes-clidatabasewalN)journal_modewal_autocheckpointjournal_size_limitruntimenofile_soft_limiti   max_concurrent_sessionsmax_live_sessions   sessionterminal_continueTagent	max_turnsrun_budget_secondsgateway_timeouti  gateway_turn_lease_timeoutagent_cache   i  auto   )max_sizeidle_ttl_secsmemory_high_mbmax_evictions_per_passprotect_recentrestart_drain_timeout    cron_drain_timeout   restart_after_turn_timeoutbuild_wait_timeoutiX  api_max_retries   empty_response_guardg      ?)enabledcost_threshold_usdservice_tiertool_use_enforcementexecution_guidanceintent_ack_continuationstall_guardstask_completion_guidanceparallel_tool_call_guidanceenvironment_probebot_mode_protocolenvironment_hintcoding_contextcoding_instructionsverify_guidancemax_verify_nudgesverify_on_stopFgateway_timeout_warningi  clarify_timeoutgateway_notify_interval   session_stall_timeouti,  reconnect_attention_afteri   gateway_auto_continue_freshness%gateway_startup_restore_drain_timeoutlocal_stream_stale_timeout)image_input_modedisabled_toolsetsreasoning_overridesreasoning_echoterminalbackendlocal
modal_modedegraded_modewarncwd.font_familytimeoutdaemon_term_grace_secondsg       @env_passthrough	home_modeshell_init_filesauto_source_bashrcdocker_imagez*nikolaik/python-nodejs:python3.11-nodejs20docker_forward_env
docker_envsingularity_imagez3docker://nikolaik/python-nodejs:python3.11-nodejs20modal_imagedaytona_imagenode24   i   i   1g)vercel_runtimecontainer_cpucontainer_memorycontainer_diskcontainer_persistentdocker_volumesdocker_mount_cwd_to_workspacedocker_networkdocker_extra_argsdocker_shm_sizedocker_run_as_host_userpersistent_shellwebi:  )rJ   search_backendextract_backendextract_char_limitkeyless_fallbackkeyless_rescueprovider_tierbrowserx   must_respondzhost.docker.internal)managed_persistenceuser_idsession_keyadopt_existing_tabrewrite_loopback_urlsloopback_host_alias)rJ   inactivity_timeoutcommand_timeoutrecord_sessionsheadedallow_private_urlsengineauto_local_for_private_urlscdp_urlallow_unsafe_evaluaterestrict_evaluatedialog_policydialog_timeout_scamofoxcheckpoints   i  
         )r+   max_snapshotsmax_total_size_mbmax_file_size_mb
auto_pruneretention_daysmin_interval_hourscontext_file_max_charsfile_read_max_charsi mcp_discovery_timeoutg      ?"mcp_single_query_discovery_timeoutg      .@mcpauto_reload_on_config_changetool_outputiP  i  )	max_bytes	max_linesmax_line_lengthtool_loop_guardrails   )exact_failuresame_tool_failureidempotent_no_progress   2   )max_web_searchesmax_subagents)warnings_enabledhard_stop_enabled
warn_afterhard_stop_after	loop_capscompressionr+   progress_notices	thresholdg      ?threshold_tokenstarget_ratiog?	tail_modelegacyprotect_last_nmin_tail_user_messagesmax_attemptsproactive_prune_tokens proactive_prune_min_result_charsi@  "proactive_prune_min_reclaim_tokensmicro_compactmicro_compact_every_n_turns%micro_compact_defrag_threshold_tokenshygiene_hard_message_limiti  hygiene_timeout_secondsnativei@ )hygiene_total_ceiling_seconds hygiene_failure_cooldown_secondscontext_timeout_secondscontext_total_ceiling_secondsprotect_first_nabort_on_summary_failurecodex_gpt55_autoraisecodex_gpt55_autoraise_noticecodex_app_server_autocodex_responses_native!codex_responses_compact_thresholdin_placemodel_thresholdsidle_compact_after_secondsprompt_caching	cache_ttl5m
openrouterg?)response_cacheresponse_cache_ttlmin_coding_scorebedrock)r+   provider_filterrefresh_intervalasyncdisabled)guardrail_identifierguardrail_versionstream_processing_modetrace)region	discovery	guardrail	auxiliarytransient_retries	free_onlyopenrouter_modelstream_only_base_urlsvision)providerr   base_urlapi_keyrR   
extra_bodyreasoning_effortdownload_timeoutweb_extractih  )r   r   r   r   rR   r   r   
skills_hubapprovaltitle_generation)
r+   r   r   prefer_fast_modelr   r   rR   r   r   languagememory_query_rewrite)r   r   r   r   rR   r   tts_audio_tagstriage_specifierkanban_decomposerprofile_describer<   
goal_judge)r+   r   r   r   r   rR   r   r   )curatormonitorbackground_reviewmoa_referencemoa_aggregatordisplaycompactpersonalityresume_displayfullresume_exchangesresume_max_user_charsresume_max_assistant_chars   resume_max_assistant_linesresume_skip_tool_onlybusy_input_mode	interruptbusy_steer_ack_enabledcli_multiline_shortcuts	interfaceclitui_auto_resume_recenttui_agents_nudgebell_on_completeshow_reasoningreasoning_fullmemory_notificationson background_process_notificationsconcise	streaming
timestampstimestamp_formatz%H:%Mfinal_response_markdownstrippersistent_outputpersistent_output_max_lines cli_rebuild_scrollback_on_redrawpersist_promptsinline_diffsfile_mutation_verifiercredits_noticesturn_completion_explainer	show_costbattery
focus_viewfocus_saved_tool_progressallskindefaultr   entui_status_indicatorkaomojicli_refresh_intervalg      ?user_message_preview)first_lines
last_linesinterim_assistant_messagesshow_commentarytool_progress_commandtool_preview_lengthfriendly_tool_labelsturn_summaryspinner_token_flowtool_progress_grouping
accumulatestatus_phrasesreasoning_stylecodeephemeral_system_ttl)telegramdiscordslack)r   context_pctrO   )r+   fieldsgQ?)r+   slugrender_modescaleunicode_cols)	platformsruntime_footercopy_shortcutpet	dashboard   )	client_id
portal_url)usernamepassword_hashpasswordsecretsession_ttl_secondsdrain+   )scopemin_secret_chars)	themeturn_isolationcompute_host_heartbeat_secscompute_host_respawn_maxshow_token_analyticsoauth
basic_auth
drain_auth
public_urlprivacy
redact_piittsedgevoicezen-US-AriaNeuralpNInz6obpgDQGcFmaJgBeleven_multilingual_v2)voice_idmodel_idzgpt-4o-mini-ttsalloy)r   rh  zgemini-2.5-flash-preview-ttsKore)r   rh  
audio_tagspersona_prompt_fileevei]  i  )rk  r   speedauto_speech_tagsoptimize_streaming_latencysample_ratebit_ratezvoxtral-mini-tts-2603z$c69964a6-ab8b-4f8a-9465-ec0925096ec8)r   rk  zspeech-02-hdEnglish_expressive_narratorz!KittenML/kitten-tts-nano-0.8-int8Jasperzneuphonic/neutts-air-q4-ggufcpu)	ref_audioref_textr   devicezen_US-lessac-medium)r   rg  
elevenlabsopenaigeminixaimistralminimax	kittenttsneuttspiper	deepinfrasttibaseg333333?g      )r   r   initial_promptvadvad_min_silence_msno_speech_prob_thresholdlogprob_thresholdunload_after_idle_secondszwhisper-large-v3-turbo)r   r   z	whisper-1zvoxtral-mini-latest	scribe_v2)rl  language_codetag_audio_eventsdiarize)r+   echo_transcriptsr   cloud_trim_silencecloud_trim_threshold_dbcloud_trim_keep_msrK   groqr~  r  r  r}  r  zctrl+bdirectg333333?g      @stop)
record_keysubmit_modemax_recording_secondsauto_ttsbeep_enabledbeep_volumethinking_soundsilence_thresholdsilence_durationbarge_inbarge_in_grace_secondsbarge_in_threshold_multiplierstop_phrases	wake_wordopenwakewordz
hey hermes
hey_hermes)r   inference_framework	model_dirkeywordjarvis)r+   surfaceinput_devicecapturer   phrasesensitivityconfirmation_framesstart_new_sessionprofile_routingr  sherpa	porcupinehuman_delayoffi   i	  )modemin_msmax_mscontext
compressorg      N@g        )r+   cooldown_secondslog_every_ninfo_log_min_delta_mb)r   memory_trimmemoryi  i_  )memory_enableduser_profile_enabledwrite_approvalmemory_char_limituser_char_limitnudge_intervalr   
delegation   )r   r   r   r   api_modeinherit_mcp_toolsetsmax_iterationsmax_summary_charschild_timeout_secondsr   max_concurrent_childrenmax_spawn_depthorchestrator_enabledsubagent_auto_approveprefill_messages_filegoalsloopsd   )min_interval_seconds	max_ticksself_paced_floor_secondsself_paced_ceiling_secondsmoazopenai-codexzgpt-5.5)r   r   zdeepseek/deepseek-v4-prozanthropic/claude-opus-4.8)reference_models
aggregator
max_tokensr+   )default_presetactive_presetsave_traces	trace_dirprivacy_filterpresetsskills)
external_dirsproject_discoverytrusted_project_dirstemplate_varsinline_shellinline_shell_timeoutguard_agent_createdtier1_advisoryr  ledgerr      Z   )r+   keep)	r+   interval_hoursmin_idle_hoursstale_after_daysarchive_after_daysconsolidateprune_builtinsarchive_ttl_daysbackuphonchotimezonerC  )require_mentionfree_response_channelsallowed_channelsrequire_mention_channelsignore_other_user_mentionsthread_require_mentionchannel_promptsrB  r  r  r   auto_threadr  bots_require_inline_mentionhistory_backfillhistory_backfill_limitmissed_message_backfilli`T  )r+   channelswindow_secondslimitmax_dispatches	reactions#websocket_liveness_interval_seconds$websocket_liveness_failure_threshold'websocket_heartbeat_ack_max_age_secondswebsocket_max_latency_secondsr  dm_role_auth_guildserver_actionsi   g
ףp=
?gQ?)zLet me look into that.zOne moment.zChecking on that now.zGive me a sec.zOn it.)r+   ambient_enabledambient_pathambient_gain	duck_gainspeech_gainack_enabledack_phrases)allow_any_attachmentmax_attachment_bytesapproval_mentions(voice_channel_inactivity_timeout_secondsvoice_playback_timeout_secondsvoice_fxwhatsapprA  )rich_messagesrich_drafts)r  r  allowed_chatsextra
mattermost)r  r  r   r  matrix)r  free_response_roomsallowed_rooms	approvalssmartdeny)	r  rR   	cron_modesingle_query_modesmart_policydenial_breaker_thresholdr-  mcp_reload_confirmdestructive_slash_confirmcommand_allowlistquick_commandsplatform_hintshookshooks_auto_acceptpersonalitiessecuritybuiltin)	transporttransport_fallbacktirith)r+   domainsshared_files)r   redact_secrets(allow_data_training_tiers_noninteractiver   protected_instruction_files$protected_instruction_extra_patternstirith_enabledtirith_pathtirith_timeouttirith_fail_openwebsite_blocklistacked_advisoriesallow_lazy_installscronzhttps://portal.nousresearch.com)rQ  callback_urlexpected_audiencenas_jwks_url)allow_agent_scheduling	preflightmodel_drift_guardr   model_providerr   chronoswrap_responsemirror_deliverymax_parallel_jobsoutput_retentionscript_timeout_secondssession_db_timeout_secondsmedia_send_timeout_secondskanbanauto_subscribe_on_createdispatch_in_gatewayreview_dispatchdispatch_interval_secondsfailure_limitworker_log_rotate_bytesi    worker_log_backup_countorchestrator_profiledefault_assigneemax_in_progressmax_in_progress_per_profileauto_decomposeauto_decompose_per_tickdispatch_stale_timeout_secondsi@8  reconcile_orphansdone_sub_retention_dayscode_executionr  projecttoolstool_searchi  )r+   threshold_pctsearch_default_limitmax_search_limitlistinglisting_max_tokensloggingINFO)levelmax_size_mbbackup_countmodel_catalogzAhttps://hermes-agent.nousresearch.com/docs/api/model-catalog.json)r+   url	ttl_hoursr   model_overrides
models_devr|  network
force_ipv4
monitoringzhermes-gateway
production)zservice.namezdeployment.environment.name)r+   metrics_enableddiagnostic_events_enabledwarning_error_events_enabledexport_interval_secondslogs_export_interval_secondsresource_attributesotlp)r+   endpointheaders_env)
install_idgateway_health_exportexportgatewayidle_timeout_minutes)max_restartsr  max_gap_seconds)
max_startsr  i   max_concurrent_runs)multiplex_profile_allowlistdelivery_ledgerplatform_connect_timeoutloop_watchdogwrite_sessions_jsonscale_to_zerorestart_loop_guardrespawn_stormmessage_timestampsmax_inbound_media_bytesstrictmedia_delivery_allow_dirstrust_recent_filestrust_recent_files_seconds
api_serverg?u    ▉)r+   r<  edit_intervalbuffer_thresholdcursorfresh_final_after_secondssessionsadvisei  i N  )r   r   auto_archiveauto_archive_daysvacuum_after_prunemin_vacuum_interval_daysr   write_json_snapshotsfts_optimize_noticecjk_ftssearch_slow_msmax_resume_messagesmax_export_messages
onboardingask)seenprofile_build	telemetryshared_metricsdoctorlive_probe_timeoutupdatesquickstash)pre_update_backupbackup_keepnon_interactive_local_changesauto_switch_parked_branchrefresh_cua_driverlspdocumentg      @g     @)r+   	wait_modewait_timeoutinstall_strategyidle_timeoutserversx_searchzgrok-4.5)r   r   timeout_secondsretriessecretsBWS_ACCESS_TOKEN)r+   max_stale_seconds)r+   access_token_env
project_idcache_ttl_secondsencrypted_cacheoverride_existingauto_install
server_urlOP_SERVICE_ACCOUNT_TOKEN)r+   envaccountservice_account_token_envbinary_pathr  r  )	bitwardenonepasswordpaste_collapse_threshold!paste_collapse_threshold_fallbackpaste_collapse_char_thresholdcomputer_usei  somstandard)cua_telemetrymax_image_dimensioncapture_after_mode
no_overlaypermission_modecapability_manifestgrant_existing_profileproxyi#  r  )r+   tunnel_portr  credential_sourceenforce_on_dockerallow_env_fallbackupstream_deny_cidrsextra_allowed_hosts)r+   freshness_minutesr   )repo_scan_enabledrepo_scan_rootsrepo_scan_exclude_pathselectron_flagsdisable_gpupassword_storemacos_signing_identityauto_continueglobal)r  r   &   )desktopvertex_config_versionNOUS_BASE_URLzNous Portal base URL overridez.Nous Portal base URL (leave empty for default)r   )descriptionpromptr|  rT  categoryadvancedOPENROUTER_API_KEYz>OpenRouter API key (for vision, web scraping helpers, and MoA)zOpenRouter API keyzhttps://openrouter.ai/keysvision_analyze)r  r  r|  rT  ro  r  r  GOOGLE_API_KEYz<Google AI Studio API key (also recognized as GEMINI_API_KEY)zGoogle AI Studio API keyz&https://aistudio.google.com/app/apikeyGEMINI_API_KEYz3Google AI Studio API key (alias for GOOGLE_API_KEY)zGemini API keyGEMINI_BASE_URLz"Google AI Studio base URL overridez)Gemini base URL (leave empty for default)VERTEX_CREDENTIALS_PATHuI  Path to a Google Cloud service account JSON for Vertex AI (Gemini). Vertex uses OAuth2, not a static API key — this points at the credentials Hermes mints short-lived tokens from. Falls back to GOOGLE_APPLICATION_CREDENTIALS, then to ADC (gcloud auth application-default login). Set project/region under vertex: in config.yaml.zZVertex service account JSON path (leave empty to use ADC / GOOGLE_APPLICATION_CREDENTIALS)z4https://cloud.google.com/iam/docs/keys-create-deleteXAI_API_KEYzxAI API keyzhttps://console.x.ai/XAI_BASE_URLzxAI base URL overridez&xAI base URL (leave empty for default)NVIDIA_API_KEYz;NVIDIA NIM API key (build.nvidia.com or local NIM endpoint)zNVIDIA NIM API keyzhttps://build.nvidia.com/NVIDIA_BASE_URLzJNVIDIA NIM base URL override (e.g. http://localhost:8000/v1 for local NIM)z-NVIDIA NIM base URL (leave empty for default)
LM_API_KEYz5LM Studio bearer token for auth-enabled local serversz LM Studio API key / bearer tokenLM_BASE_URLzLM Studio base URL overridez,LM Studio base URL (leave empty for default)GLM_API_KEYzBZ.AI / GLM API key (also recognized as ZAI_API_KEY / Z_AI_API_KEY)zZ.AI / GLM API keyzhttps://z.ai/ZAI_API_KEYz$Z.AI API key (alias for GLM_API_KEY)zZ.AI API keyZ_AI_API_KEYGLM_BASE_URLzZ.AI / GLM base URL overridez-Z.AI / GLM base URL (leave empty for default)KIMI_API_KEYzKimi / Moonshot API keyzKimi API keyzhttps://platform.moonshot.cn/KIMI_BASE_URLz!Kimi / Moonshot base URL overridez'Kimi base URL (leave empty for default)KIMI_CN_API_KEYzKimi / Moonshot China API keyzKimi (China) API keySTEPFUN_API_KEYzStepFun Step Plan API keyzhttps://platform.stepfun.com/STEPFUN_BASE_URLz#StepFun Step Plan base URL overridez4StepFun Step Plan base URL (leave empty for default)ARCEEAI_API_KEYzArcee AI API keyzhttps://chat.arcee.ai/ARCEE_BASE_URLzArcee AI base URL overridez(Arcee base URL (leave empty for default)GMI_API_KEYzGMI Cloud API keyzhttps://www.gmicloud.ai/GMI_BASE_URLzGMI Cloud base URL overridez,GMI Cloud base URL (leave empty for default)ACTUAL_API_KEYz&Actual Computer inference key (ac_...)zActual Computer inference keyzhttps://actual.inc/user/keysACTUAL_BASE_URLz]Actual Computer base URL override (set to http://127.0.0.1:8080 for the local offline daemon)z7Actual Computer base URL (leave empty for hosted relay)FIREWORKS_API_KEYzFireworks AI API keyz0https://app.fireworks.ai/settings/users/api-keysMINIMAX_API_KEYzMiniMax API key (international)zMiniMax API keyzhttps://www.minimax.io/MINIMAX_BASE_URLzMiniMax base URL overridez*MiniMax base URL (leave empty for default)MINIMAX_CN_API_KEYz MiniMax API key (China endpoint)zMiniMax (China) API keyzhttps://www.minimaxi.com/MINIMAX_CN_BASE_URLz!MiniMax (China) base URL overridez2MiniMax (China) base URL (leave empty for default)DEEPSEEK_API_KEYz+DeepSeek API key for direct DeepSeek accesszDeepSeek API Keyz&https://platform.deepseek.com/api_keys)r  r  r|  rT  r  DEEPSEEK_BASE_URLz'Custom DeepSeek API base URL (advanced)zDeepSeek Base URLDASHSCOPE_API_KEYz>Alibaba Cloud DashScope API key (Qwen + multi-provider models)zDashScope API Keyz-https://modelstudio.console.alibabacloud.com/DASHSCOPE_BASE_URLzGCustom DashScope base URL (default: coding-intl OpenAI-compat endpoint)zDashScope Base URLHERMES_QWEN_BASE_URLzBQwen Portal base URL override (default: https://portal.qwen.ai/v1)z.Qwen Portal base URL (leave empty for default)OPENCODE_ZEN_API_KEYz=OpenCode Zen API key (pay-as-you-go access to curated models)zOpenCode Zen API keyzhttps://opencode.ai/authCOMMANDCODE_API_KEYuL   CommandCode API key (GOAT/Pro/Max/Provider plans — 30+ models via one key)zCommandCode API keyzhttps://commandcode.ai/studio/OPENCODE_ZEN_BASE_URLzOpenCode Zen base URL overridez/OpenCode Zen base URL (leave empty for default)OPENCODE_GO_API_KEYz<OpenCode Go API key ($10/month subscription for open models)zOpenCode Go API keyOPENCODE_GO_BASE_URLzOpenCode Go base URL overridez.OpenCode Go base URL (leave empty for default)HF_TOKENzVHugging Face token for Inference Providers (20+ open models via router.huggingface.co)zHugging Face Tokenz&https://huggingface.co/settings/tokensHF_BASE_URLz2Hugging Face Inference Providers base URL overridez%HF base URL (leave empty for default)OLLAMA_API_KEYu>   Ollama Cloud API key (ollama.com — cloud-hosted open models)zOllama Cloud API keyzhttps://ollama.com/settingsOLLAMA_BASE_URLz?Ollama Cloud base URL override (default: https://ollama.com/v1)z)Ollama base URL (leave empty for default)XIAOMI_API_KEYzhXiaomi MiMo API key for MiMo models (mimo-v2.5-pro, mimo-v2.5, mimo-v2-pro, mimo-v2-omni, mimo-v2-flash)zXiaomi MiMo API Keyzhttps://platform.xiaomimimo.comXIAOMI_BASE_URLzFXiaomi MiMo base URL override (default: https://api.xiaomimimo.com/v1)z)Xiaomi base URL (leave empty for default)UPSTAGE_API_KEYz$Upstage API key for Solar LLM modelszUpstage API Keyz#https://console.upstage.ai/api-keysUPSTAGE_BASE_URLz>Upstage base URL override (default: https://api.upstage.ai/v1)z*Upstage base URL (leave empty for default)
AWS_REGIONz?AWS region for Bedrock API calls (e.g. us-east-1, eu-central-1)z
AWS RegionzIhttps://docs.aws.amazon.com/bedrock/latest/userguide/bedrock-regions.htmlAWS_PROFILEzFAWS named profile for Bedrock authentication (from ~/.aws/credentials)zAWS ProfileAZURE_FOUNDRY_API_KEYz0Azure Foundry API key for custom Azure endpointszAzure Foundry API Keyzhttps://ai.azure.com/AZURE_FOUNDRY_BASE_URLzLAzure Foundry base URL (set via 'hermes model' for endpoint-specific config)zAzure Foundry base URLEXA_API_KEYz1Exa API key for AI-native web search and contentszExa API keyzhttps://exa.ai/
web_searchtool)r  r  r|  ro  rT  r  PARALLEL_API_KEYz5Parallel API key for AI-native web search and extractzParallel API keyzhttps://parallel.ai/FIRECRAWL_API_KEYz-Firecrawl API key for web search and scrapingzFirecrawl API keyzhttps://firecrawl.dev/FIRECRAWL_API_URLz6Firecrawl API URL for self-hosted instances (optional)z)Firecrawl API URL (leave empty for cloud)FIRECRAWL_GATEWAY_URLzQExact Firecrawl tool-gateway origin override for Nous Subscribers only (optional)z9Firecrawl gateway URL (leave empty to derive from domain)TOOL_GATEWAY_DOMAINzShared tool-gateway domain suffix for Nous Subscribers only, used to derive vendor hosts, e.g. nousresearch.com -> firecrawl-gateway.nousresearch.comzTool-gateway domain suffixTOOL_GATEWAY_SCHEMEzShared tool-gateway URL scheme for Nous Subscribers only, used to derive vendor hosts (`https` by default, set `http` for local gateway testing)zTool-gateway URL schemeTOOL_GATEWAY_USER_TOKENzuExplicit Nous Subscriber access token for tool-gateway requests (optional; otherwise read from the Hermes auth store)zTool-gateway user tokenTAVILY_API_KEYu[   Tavily API key for AI-native web search and extract (optional — keyless works without it)zTavily API keyzhttps://app.tavily.com/homeKEENABLE_API_KEYuw   Keenable API key for fast independent-index web search and page fetch (optional — keyless free tier works without it)zKeenable API keyzhttps://keenable.aiSEARXNG_URLz<URL of your SearXNG instance for free self-hosted web searchz(SearXNG URL (e.g. http://localhost:8080)z"https://searxng.github.io/searxng/BRAVE_SEARCH_API_KEYzABrave Search API subscription token (free tier: 2,000 queries/mo)zBrave Search subscription tokenzhttps://brave.com/search/api/BROWSERBASE_API_KEYuU   Browserbase API key for cloud browser (optional — local browser works without this)zBrowserbase API keyzhttps://browserbase.com/browser_navigatebrowser_clickBROWSERBASE_PROJECT_IDuC   Browserbase project ID (optional — only needed for cloud browser)zBrowserbase project IDBROWSER_USE_API_KEYuU   Browser Use API key for cloud browser (optional — local browser works without this)zBrowser Use API keyzhttps://browser-use.com/FIRECRAWL_BROWSER_TTLz@Firecrawl browser session TTL in seconds (optional, default 300)zBrowser session TTL (seconds))r  r  ro  rT  r  AGENT_BROWSER_ENGINEzaBrowser engine for local mode: auto (default Chrome), lightpanda (faster, no screenshots), chromez'Browser engine (auto/lightpanda/chrome)z,https://github.com/vercel-labs/agent-browser)rL  browser_snapshotrM  browser_vision)r  r  r|  ro  rT  r  r  CAMOFOX_URLzYCamofox browser server URL for local anti-detection browsing (e.g. http://localhost:9377)zCamofox server URLz)https://github.com/jo-inc/camofox-browserCAMOFOX_API_KEYz[Optional bearer token sent as Authorization header to a remote/authenticated Camofox serverzCamofox API keyFAL_KEYz*FAL API key for image and video generationzFAL API keyzhttps://fal.ai/image_generatevideo_generateKREA_API_KEYz9Krea API key for Krea 2 image generation (Medium + Large)zKrea API keyz'https://www.krea.ai/settings/api-tokensVOICE_TOOLS_OPENAI_KEYz?OpenAI API key for voice transcription (Whisper) and OpenAI TTSz&OpenAI API Key (for Whisper STT + TTS)z$https://platform.openai.com/api-keysvoice_transcription
openai_ttsELEVENLABS_API_KEYzMElevenLabs API key for premium text-to-speech voices and Scribe transcriptionzElevenLabs API keyzhttps://elevenlabs.io/elevenlabs_ttsMISTRAL_API_KEYz7Mistral API key for Voxtral TTS and transcription (STT)zMistral API keyzhttps://console.mistral.ai/PORCUPINE_ACCESS_KEYzqPicovoice access key for the Porcupine 'Hey Hermes' wake word engine (optional; openWakeWord is the free default)zPicovoice access keyzhttps://console.picovoice.ai/GITHUB_TOKENzCGitHub token for Skills Hub (higher API rate limits, skill publish)zGitHub Tokenz"https://github.com/settings/tokensNOTION_API_KEYz5Notion integration token (used by the `notion` skill)zNotion API keyz%https://www.notion.so/my-integrationsskillLINEAR_API_KEYz4Linear personal API key (used by the `linear` skill)zLinear API keyz,https://linear.app/settings/account/securityAIRTABLE_API_KEYz=Airtable personal access token (used by the `airtable` skill)zAirtable API keyz"https://airtable.com/create/tokensTENOR_API_KEYz=Tenor API key for GIF search (used by the `gif-search` skill)zTenor API keyz5https://developers.google.com/tenor/guides/quickstartHONCHO_API_KEYz.Honcho API key for AI-native persistent memoryzHoncho API keyzhttps://app.honcho.devhoncho_contextHONCHO_BASE_URLz=Base URL for self-hosted Honcho instances (no API key needed)z,Honcho base URL (e.g. http://localhost:8000))r  r  r  HINDSIGHT_API_KEYz3Hindsight API key for graph-aware persistent memoryzHindsight API keyzhttps://hindsight.vectorize.iohindsight_recallHINDSIGHT_API_URLzLBase URL for the Hindsight API (default: https://api.hindsight.vectorize.io)zHindsight API URL)r  r  r  r  SUPERMEMORY_API_KEYz=Supermemory API key for conversation-scoped persistent memoryzSupermemory API keyzhttps://supermemory.aisupermemory_searchMEM0_API_KEYz4Mem0 Platform API key for semantic persistent memoryzMem0 API keyzhttps://app.mem0.aimem0_searchRETAINDB_API_KEYz&RetainDB API key for persistent memoryzRetainDB API keyzhttps://retaindb.comretaindb_searchRETAINDB_BASE_URLzOBase URL for self-hosted RetainDB instances (default: https://api.retaindb.com)zRetainDB base URLBRV_API_KEYuG   ByteRover API key (optional, for cloud sync — local-first by default)zByteRover API keyzhttps://app.byterover.dev	brv_queryOPENVIKING_API_KEYz3OpenViking API key (leave blank for local dev mode)zOpenViking API keyviking_searchOPENVIKING_ENDPOINTz6OpenViking server URL (default: http://127.0.0.1:1933)zOpenViking endpointHERMES_LANGFUSE_PUBLIC_KEYz'Langfuse project public key (pk-lf-...)zLangfuse public keyzhttps://cloud.langfuse.comHERMES_LANGFUSE_SECRET_KEYz'Langfuse project secret key (sk-lf-...)zLangfuse secret keyHERMES_LANGFUSE_BASE_URLz9Langfuse server URL (default: https://cloud.langfuse.com)z8Langfuse server URL (leave empty for cloud.langfuse.com)TELEGRAM_BOT_TOKENzaComplete Telegram bot token created by @BotFather (numeric bot ID followed by a colon and secret)zTelegram bot tokenzhttps://t.me/BotFather	messagingTELEGRAM_ALLOWED_USERSz{Optional comma-separated numeric Telegram user IDs allowed immediately; leave blank to approve new users through DM pairingz+Allowed Telegram user IDs (comma-separated)zhttps://t.me/userinfobotTELEGRAM_PROXYzaProxy URL for Telegram connections (overrides HTTPS_PROXY). Supports http://, https://, socks5://zTelegram proxy URL (optional))r  r  rT  r  DISCORD_BOT_TOKENz'Discord bot token from Developer PortalzDiscord bot tokenz+https://discord.com/developers/applicationsDISCORD_ALLOWED_USERSz7Comma-separated Discord user IDs allowed to use the botz*Allowed Discord user IDs (comma-separated)DISCORD_REPLY_TO_MODEzDiscord reply threading mode: 'off' (no reply references), 'first' (reply on first message only, default), 'all' (reply on every chunk)z"Discord reply mode (off/first/all)SLACK_BOT_TOKENzSlack bot token (xoxb-). Get from OAuth & Permissions after installing your app. Required scopes: chat:write, app_mentions:read, channels:history, groups:history, im:history, im:read, im:write, mpim:history, mpim:read, users:read, files:read, files:writezSlack Bot Token (xoxb-...)zIn your Slack app, add the required bot scopes, install the app to the workspace, then copy OAuth & Permissions > Bot User OAuth Token.zhttps://api.slack.com/apps)r  r  helpr|  rT  r  SLACK_APP_TOKENu   Slack app-level token (xapp-) for Socket Mode. Get from Basic Information → App-Level Tokens. Also ensure Event Subscriptions include: message.im, message.channels, message.groups, message.mpim, app_mentionzSlack App Token (xapp-...)zyIn your Slack app, enable Socket Mode, then create Basic Information > App-Level Tokens with the connections:write scope.SLACK_ALLOWED_USERSzComma-separated Slack member IDs allowed to use Hermes, e.g. U01ABC2DEF3. Without this, Slack may connect but deny messages by default.zAllowed Slack member IDszvIn Slack, open your profile, choose More or the three-dot menu, then Copy member ID. Add multiple IDs comma-separated.MATTERMOST_URLz3Mattermost server URL (e.g. https://mm.example.com)zMattermost server URLzhttps://mattermost.com/deploy/MATTERMOST_TOKENz-Mattermost bot token or personal access tokenzMattermost bot tokenMATTERMOST_ALLOWED_USERSz:Comma-separated Mattermost user IDs allowed to use the botz-Allowed Mattermost user IDs (comma-separated)MATTERMOST_REQUIRE_MENTIONzaRequire @mention in Mattermost channels (default: true). Set to false to respond to all messages.zRequire @mention in channels!MATTERMOST_FREE_RESPONSE_CHANNELSzJComma-separated Mattermost channel IDs where bot responds without @mentionz+Free-response channel IDs (comma-separated)MATRIX_HOMESERVERz7Matrix homeserver URL (e.g. https://matrix.example.org)zMatrix homeserver URLz%https://matrix.org/ecosystem/servers/MATRIX_ACCESS_TOKENz3Matrix access token (preferred over password login)zMatrix access tokenMATRIX_USER_IDz)Matrix user ID (e.g. @hermes:example.org)zMatrix user ID (@user:server)MATRIX_ALLOWED_USERSzLComma-separated Matrix user IDs allowed to use the bot (@user:server format)z)Allowed Matrix user IDs (comma-separated)MATRIX_REQUIRE_MENTIONzZRequire @mention in Matrix rooms (default: true). Set to false to respond to all messages.z&Require @mention in rooms (true/false)MATRIX_FREE_RESPONSE_ROOMSzCComma-separated Matrix room IDs where bot responds without @mentionz(Free-response room IDs (comma-separated)MATRIX_AUTO_THREADz@Auto-create threads for messages in Matrix rooms (default: true)z)Auto-create threads in rooms (true/false)MATRIX_DM_AUTO_THREADz>Auto-create threads for DM messages in Matrix (default: false)z'Auto-create threads in DMs (true/false)MATRIX_DEVICE_IDzNStable Matrix device ID for E2EE persistence across restarts (e.g. HERMES_BOT)z)Matrix device ID (stable across restarts)MATRIX_RECOVERY_KEYu   Matrix recovery key for cross-signing verification after device key rotation (from Element: Settings → Security → Recovery Key)zMatrix recovery keyBLUEBUBBLES_SERVER_URLzOBlueBubbles server URL for iMessage integration (e.g. http://192.168.1.10:1234)zBlueBubbles server URLzhttps://bluebubbles.app/BLUEBUBBLES_PASSWORDuJ   BlueBubbles server password (from BlueBubbles Server → Settings → API)zBlueBubbles server passwordBLUEBUBBLES_ALLOWED_USERSzJComma-separated iMessage addresses (email or phone) allowed to use the botz,Allowed iMessage addresses (comma-separated)BLUEBUBBLES_ALLOW_ALL_USERSz-Allow all BlueBubbles users without allowlistzAllow All BlueBubbles Users	QQ_APP_IDz.QQ Bot App ID from QQ Open Platform (q.qq.com)z	QQ App IDzhttps://q.qq.com)r  r  r|  r  QQ_CLIENT_SECRETz*QQ Bot Client Secret from QQ Open PlatformzQQ Client SecretQQ_ALLOWED_USERSz2Comma-separated QQ user IDs allowed to use the botzQQ Allowed UsersQQ_GROUP_ALLOWED_USERSz=Comma-separated QQ group IDs allowed to interact with the botzQQ Group Allowed UsersQQ_ALLOW_ALL_USERSz4Allow all QQ users without an allowlist (true/false)zAllow All QQ UsersQQBOT_HOME_CHANNELz<Default QQ channel/group for cron delivery and notificationszQQ Home ChannelQQBOT_HOME_CHANNEL_NAMEz$Display name for the QQ home channelzQQ Home Channel Name
QQ_SANDBOXz;Enable QQ sandbox mode for development testing (true/false)zQQ Sandbox Mode
IRC_SERVERz*IRC server hostname (e.g. irc.libera.chat)z
IRC serverIRC_CHANNELz"IRC channel to join (e.g. #hermes)zIRC channelIRC_NICKNAMEz)Bot nickname on IRC (default: hermes-bot)zIRC nicknameIRC_SERVER_PASSWORDz!IRC server password (if required)zIRC server passwordIRC_NICKSERV_PASSWORDz)NickServ password for nick identificationzNickServ passwordGATEWAY_ALLOW_ALL_USERSzMAllow all users to interact with messaging bots (true/false). Default: false.zAllow all users (true/false)API_SERVER_ENABLEDzrEnable the OpenAI-compatible API server (true/false). Allows frontends like Open WebUI, LobeChat, etc. to connect.zEnable API server (true/false)API_SERVER_KEYz|Bearer token for API server authentication. Required whenever the API server is enabled; server refuses to start without it.zAPI server auth keyAPI_SERVER_PORTz(Port for the API server (default: 8642).zAPI server portAPI_SERVER_HOSTzsHost/bind address for the API server (default: 127.0.0.1). API_SERVER_KEY is still required even on loopback binds.zAPI server hostAPI_SERVER_MODEL_NAMEzModel name advertised on /v1/models. Defaults to the profile name (or 'hermes-agent' for the default profile). Useful for multi-user setups with OpenWebUI.zAPI server model nameGATEWAY_PROXY_URLu  URL of a remote Hermes API server to forward messages to (proxy mode). When set, the gateway handles platform I/O only — all agent work is delegated to the remote server. Use for Docker E2EE containers that relay to a host agent. Also configurable via gateway.proxy_url in config.yaml.z=Remote Hermes API server URL (e.g. http://192.168.1.100:8642)GATEWAY_PROXY_KEYzBearer token for authenticating with the remote Hermes API server (proxy mode). Must match the API_SERVER_KEY on the remote host.zRemote API server auth keyWEBHOOK_ENABLEDzREnable the webhook platform adapter for receiving events from GitHub, GitLab, etc.zEnable webhooks (true/false)WEBHOOK_PORTz1Port for the webhook HTTP server (default: 8644).zWebhook portWEBHOOK_SECRETz[Global HMAC secret for webhook signature validation (overridable per route in config.yaml).zWebhook secretSUDO_PASSWORDzySudo password for terminal commands requiring root access; set to an explicit empty string to try empty without promptingzSudo passwordsettingHERMES_PREFILL_MESSAGES_FILEzFPath to JSON file with ephemeral prefill messages for few-shot primingzPrefill messages file pathHERMES_EPHEMERAL_SYSTEM_PROMPTzOEphemeral system prompt injected at API-call time (never persisted to sessions)zEphemeral system prompt)__doc__DEFAULT_CONFIGOPTIONAL_ENV_VARS     >/home/agent/.hermes/hermes-agent/hermes_cli/config_defaults.py<module>r     s6   h8Rh8h8 "h8 !"	h8
 h8  #" h8$ T%h8. t/h88 9h8:  	T;h8L  H
 	TH 	dH  	4!H* 	%d+H4 	! % ')  #
 
5Hl 	 mH~ 	bHR 	%dSHb 	ccHt 	1uHB 	 
 #'	!
 	!
CHV 	WHb 	cHt 	fuHH 	"6IHZ 	[Hf 	#DgH Hx 	&tyHH 	TIHN 	TOH\ 	B]Hz 	&{HH 	rIHR 	4SHX 	QYHr 	%sHz 	"3{HR 	4SHb 	"3cHx 	 yHD 	$TEH` 	*4aHx 	0yHF	 	%cG	H Hb	 #  "  O
H H HMh8`  u7ufu 	u 	su" 	r#u$ 	3%u0 	$S1u8 	29uF 	VGu` 	Bauz 	d{u| 	D}u~ 	buJ 	bKuL 	RMuN 	COuP 	EQuV #  $  */ 
   $)
 !iu u uah8N 
# !
  1 Oh8D  ! # '+!&"
 (
 $) "' &+#9
 
E3 3Eh8B  
 ! "  C" "Ch8V dWh8` 7ah8 h8~ Sh8R )$Sh8Z 
 	'
[h8N  Oh8`  "!"&'
 
 !"&'
 
 !#
 
+ ah8V  V4VEV 	TV  	D!V( 	)V* 	X+V@ 	"AVB 	!!CVN 	OVX 	!!YVr 	+DsVz 	-d{VF 	GV^ 	&q_Vl 	0mVt 	%duVv 	"2wV@ *- -0#& *-  %* "& )- "* #( .4    '(OV V VWh8N TOh8t !  uh8D ! $
 
 %'!#&-
 
 Eh8\  s 	Qs 	Us* 	B+s8 	 9s: 	 " "	
 	
;sN 	 "
 
Os` 	 "
 
asz 	 "
 
{sL 	 "
 
Ms^ 	 "
 
_sp 	!& "
 
qsH 	!
 !
IsX 	 "
 
Yst 	 "
 
usP 	 "
 
Qsj 	 "
 
ksB 	 "
 
Cs`  "
 
   "
 
.  "
 
 
 
 
 
Us s s]h8F'  @5@r@ 	&@ 	B@ 	 @ 	%c@ 	%a@  	 !@" 	;#@* 	!$+@8 	"49@D 	UE@N 	!%O@X 	DY@Z 	E[@d 	$e@l 	%m@ @x 	y@J 	+IK@L 	UM@N 	eO@P 	GQ@R 	"7S@Z 	T[@\ 	&s]@h 	+Ei@p 	4q@r 	s@B 	!$C@L 	4M@Z 	$T[@\ 	U]@b 	5c@p 	eq@ @ @r 	$Us@t 		u@~ 	D@D 		E@T 	U@V 	!
 !
W@^ 	%d_@j 	4k@l 	 m@v 	qw@@ 	A@L 	M@T 	dU@` 	!,a@r 	"s@~ 	6@N 	O@ @t %d+#U+!5)
 
 555
 
     "  %
 
Y@ @ @G'h8L/   ')$% !& 
 
4 #$
 
(  "
 
0 Oh hM/h8b2 ec2h8t2 
 '

 /0
 

 '
 
 4  
 $&
 
  %*+ 
 
 ->
 

 $5
 

 9
 

 3	
 
 *	
 
 
QM Mu2h8R5 
 !  ##&!  "%(+!%)*
 
 .
 

 !
 

 +
 

 
 $ %	
 
 R
u> >S5h8R7 !$ "%),  ! S7h8~7 " ! "
 $&
 
 
 x
9! !7h8 h8 h8D9  E9h8\9   $  &)	
 	
	 ]9h8~9  $  ! 
 5 9h8@;  !%  #!"
 #%  $ "'u; ;A;h8@= RA=h8T= 
 	RU=h8p=  !# $&&)
 
q=h8N> 
#  !/)DD!-8RSS% ,8B]^^" 

+   O>h8X?  " !#
   "  %    IE EY?h8zA   !  
  
 
O+ +{Ah8ZC b[Ch8bC cCh8hC "$ %' ',"' iCh8JD  U4U "U 	BU 	t	U
 	!%U 	&uU 	DU 	!"U 	"# $
 $
U  	T!U* 	.r+U, 	/-U. 	22/U0 	(1U2 	23U> 	b?UN 	"OUZ !&
 !)
 # 58 +. #   
 
KU U UKDh8zF  {Fh8JG " 
 
	 KGh8`G "$	 aGh8 h8 h8pG ! qGh8lH #  %&  # &*]/ /mHh8PJ QJh8TJ bUJh8tJ buJh8FK RGKh8RK SKh8ZK R[Kh8`K # 5: #"(
 
 (,02 
 
   $]/ /aKh8BM  #( 
 "    < !# 
 
  * !
 " 
 #' ') '*Ym mCMh8lP  \ 	#D\ 	t\$ 	4%\* 	$R+\2 	3\: 	"?;\< 	"1=\H 	I\P 	BQ\j 	4k\| 	&t}\F 	$G\N 	"1O\Z 	)%[\f 	Tg\v 	"2w\mPh8jS  		kSh8ZT    %& "  #'E#
 #
%[Th8lU  mUh8BV R   CVh8zW r{Wh8JX rKXh8 h8 h8TX  	e	UXh8pX 
  #)-,0'),- 0/;$ $"
 "
   ! 
- qXh8rY  (,   %'   $ #A
4  "
 
 !
 
 u
 $-   &( # '* "2
qa asYh8F_     
 &); G_h8P`      # %' ! !&"  (    %  %iU UQ`h8Dc   Ech8\c u
]ch8jc  	bkch8xc & %
   *1 &*
 #m7 7ych8@f 
    #  S* *Afh8bg   !   cgh8Lh   !3 "% !%&    "& ! O(
 (
X   
 *D  "% "&5
 
gO OMhh8Pk Qkh8Rk (Skh8Tk $TUkh8Zk    $ $  &  " #(c2 2[kh8Zm     # " $  $  "[. .[mh8 h8Do "#%
   ! #% !#
 
W2 2@    Oqh8 h8 h8Vqo6B o W&+"# o& U,7 'o6 L"7 7oF ;= GoV f
 oE   Won $& oo~ .: oN T&* Oo^ cA _on N4 oo~ 4@ oN [& Oo^ =  _on =  oo~ 5A oN 0 . Oo o^ :; _on 6(. oo~ 2-. oN <H Oo^ )$' _on 3< oo~ *%) oN 4@ Oo^ ?1- _on vK oo~ -(A oN 8#( Oo^ 2> _on 9+* oo~ :F oN D$7 Oo\ @% ]o o oj W%> kox `& yoH	 [B I	oX	 V() Y	oh	 e'/ i	ox	 7C y	oH
 U') I
oX
 6B Y
oh
 o&7 i
ov
 K9 w
oF W(, GoV X= Wof  B'0 got _= uoD =#4 EoR W> Sob XZ co o or _ soB I)& CoP e* Qob J . cor N$%. soB F%'. CoR O= Sob jM cor  o. soB  j+ CoR  O+   Sob t",. cor  Q$$. soB U<3 CoR Z3. Sob n')$o6 cor \*)$o6 so o oB n')$o6 CoR Y1$o6 So` z;=\\\ aor r&:$o6 soB t#:$o6 CoT C "$45 Uod R 8"# eot X:5'6 uoD f&'"$9: EoT P#, Uob  K(. cop \ 3 qoJ N"6 KoZ M"= [oj V$3 koz V!F {oN G"'"# Oo o o^ V@ _ol L%/$% mo| e%	 }oL V''&' Mo` M $ aot ?$%#$ uoD h%	 EoT `%* Uoh L&!" iov O'	 woF !@'+# #GoT !@'+# #Uob RL! !cov z&' woD  U?) EoR z1	 So^ @%< _o o ol P> moz  a6 {oH u / Z+	 	Io\ U / L+	 	]op  a, I+ qo@ L)/ AoN F( Oo\ SA! !]oj !z0# #kox (c?* *yoF P)6 GoT L' Uob B1 cop e= qo~ s: oN !\<# #Oo^ Y= _o o on W; oo~ g= oN  ]' Oo^ h*) _ol c/ moz  c@" "{oH "F/$ $IoR G!	 So^ C$	 _oj K$ kot V* uo~ M& oH  U# I oR  =(   S o\  T# ] of  C g ot  ; u o o oB! B  C!oP! :' Q!o`! B% a!op! f0   q!o@"  L2 A"oP"  V' Q"o`" A# a"op"  M# q"o@#  u) A#oP#  yQ Q#o`#  [. a#op# k0 q#o~# J  #oL$ t" M$ob$  S! c$oB% #_.% %C%oP% %h+' 'Q%o o   r  