Spaces:
Running
Running
Upload folder using huggingface_hub
Browse files- app.py +113 -43
- prompts_enc.py +7 -5
app.py
CHANGED
|
@@ -9,32 +9,45 @@ from dotenv import load_dotenv
|
|
| 9 |
load_dotenv()
|
| 10 |
|
| 11 |
if os.getenv("OPENAI_API_KEY",False):
|
| 12 |
-
|
| 13 |
run_llm=run_openai
|
| 14 |
else:
|
| 15 |
-
|
| 16 |
run_llm=run_glm
|
| 17 |
|
|
|
|
| 18 |
PROMPT_STYLE = get_prompt("PROMPT_STYLE")
|
| 19 |
PROMPT_TEXT = get_prompt("PROMPT_TEXT")
|
| 20 |
PROMPT_TEXT2 = get_prompt("PROMPT_TEXT2")
|
| 21 |
SYSPROMPT_STYLE = get_prompt("SYSPROMPT_STYLE")
|
| 22 |
SYSPROMPT_TEXT = get_prompt("SYSPROMPT_TEXT")
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
|
| 24 |
-
def get_song_output(artist, song_text):
|
| 25 |
try:
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
style = style_glm
|
| 30 |
-
else:
|
| 31 |
-
style = ''
|
| 32 |
except Exception as e:
|
| 33 |
print(f"ERROR infer llm: {e}")
|
| 34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
try:
|
| 37 |
-
text_glm = run_llm(f"{PROMPT_TEXT}\n{
|
| 38 |
if text_glm:
|
| 39 |
text = text_glm
|
| 40 |
else:
|
|
@@ -43,38 +56,78 @@ def get_song_output(artist, song_text):
|
|
| 43 |
print(f"ERROR infer llm: {e}")
|
| 44 |
text = ''
|
| 45 |
|
| 46 |
-
return
|
|
|
|
|
|
|
| 47 |
|
| 48 |
# Define translatable strings
|
| 49 |
english_strings = {
|
| 50 |
-
"title": "SUNO style generator and
|
| 51 |
-
"performer_label": "
|
| 52 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 53 |
"language_english": "English",
|
| 54 |
"language_russian": "Russian",
|
| 55 |
"generate_button": "Generate",
|
| 56 |
-
"style_label": "Style",
|
| 57 |
-
"song_result_label": "
|
|
|
|
| 58 |
}
|
| 59 |
|
| 60 |
russian_strings = {
|
| 61 |
-
"title": "
|
| 62 |
-
"performer_label": "
|
| 63 |
-
"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
"language_english": "Английский: ",
|
| 65 |
"language_russian": "Русский: ",
|
| 66 |
-
"generate_button": "
|
| 67 |
-
"style_label": "
|
| 68 |
-
"song_result_label": "
|
|
|
|
| 69 |
}
|
| 70 |
|
| 71 |
-
|
| 72 |
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
with gr.Row(elem_id="header", equal_height=True):
|
| 75 |
-
# Левая колонка (логотип 100x100)
|
| 76 |
with gr.Column(scale=0, min_width=100):
|
| 77 |
-
gr.Image(
|
| 78 |
value="splash.webp",
|
| 79 |
width=100,
|
| 80 |
height=100,
|
|
@@ -85,35 +138,52 @@ with gr.Blocks() as demo:
|
|
| 85 |
show_share_button=False,
|
| 86 |
elem_id="logo"
|
| 87 |
)
|
| 88 |
-
# Правая колонка (markdown на всю ширину)
|
| 89 |
-
with gr.Column(scale=1):
|
| 90 |
-
gr.Markdown(f"# {english_strings['title']}\nby <a href='https://boosty.to/aicave/donate'>AiCave</a>")
|
| 91 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 92 |
with gr.Row():
|
| 93 |
with gr.Column():
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
|
| 105 |
-
# Generate button click event - calls the get_song_output function
|
| 106 |
generate_button.click(
|
| 107 |
-
fn=
|
| 108 |
inputs=[name_input, text_input],
|
| 109 |
-
outputs=[style_output, song_output]
|
|
|
|
|
|
|
| 110 |
)
|
| 111 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 112 |
demo.css = """
|
| 113 |
#header {
|
| 114 |
align-items: center;
|
| 115 |
padding: 0px 0px;
|
| 116 |
-
border-bottom:
|
| 117 |
}
|
| 118 |
"""
|
| 119 |
|
|
|
|
| 9 |
load_dotenv()
|
| 10 |
|
| 11 |
if os.getenv("OPENAI_API_KEY",False):
|
| 12 |
+
status = "using OPENAI_API_KEY"
|
| 13 |
run_llm=run_openai
|
| 14 |
else:
|
| 15 |
+
status = "using glm from huggingface"
|
| 16 |
run_llm=run_glm
|
| 17 |
|
| 18 |
+
|
| 19 |
PROMPT_STYLE = get_prompt("PROMPT_STYLE")
|
| 20 |
PROMPT_TEXT = get_prompt("PROMPT_TEXT")
|
| 21 |
PROMPT_TEXT2 = get_prompt("PROMPT_TEXT2")
|
| 22 |
SYSPROMPT_STYLE = get_prompt("SYSPROMPT_STYLE")
|
| 23 |
SYSPROMPT_TEXT = get_prompt("SYSPROMPT_TEXT")
|
| 24 |
+
PROMT_GEN_LYRICS = get_prompt("PROMT_GEN_LYRICS")
|
| 25 |
+
SYSPROMT_GEN_LYRICS = get_prompt("SYSPROMT_GEN_LYRICS")
|
| 26 |
+
|
| 27 |
+
def get_style_lyrics(style, lyrics, gen_lyrics: bool =True):
|
| 28 |
|
|
|
|
| 29 |
try:
|
| 30 |
+
style_gen = run_llm(f"Describe {style}", sys_prompt=SYSPROMPT_STYLE)
|
| 31 |
+
if not style_gen:
|
| 32 |
+
style_gen = ''
|
|
|
|
|
|
|
|
|
|
| 33 |
except Exception as e:
|
| 34 |
print(f"ERROR infer llm: {e}")
|
| 35 |
+
style_gen = ''
|
| 36 |
+
|
| 37 |
+
if gen_lyrics:
|
| 38 |
+
try:
|
| 39 |
+
gen_lyrics = run_llm(f"{PROMT_GEN_LYRICS}\n<THEME>{lyrics}</THEME>", sys_prompt=SYSPROMT_GEN_LYRICS)
|
| 40 |
+
print (gen_lyrics)
|
| 41 |
+
if gen_lyrics:
|
| 42 |
+
lyrics=gen_lyrics
|
| 43 |
+
else:
|
| 44 |
+
lyrics=''
|
| 45 |
+
except Exception as e:
|
| 46 |
+
print(f"ERROR infer llm: {e}")
|
| 47 |
+
lyrics=''
|
| 48 |
|
| 49 |
try:
|
| 50 |
+
text_glm = run_llm(f"{PROMPT_TEXT}\n{style_gen}\n#Text song:\n{lyrics}\n{PROMPT_TEXT2}", sys_prompt=SYSPROMPT_TEXT)
|
| 51 |
if text_glm:
|
| 52 |
text = text_glm
|
| 53 |
else:
|
|
|
|
| 56 |
print(f"ERROR infer llm: {e}")
|
| 57 |
text = ''
|
| 58 |
|
| 59 |
+
return style_gen, text
|
| 60 |
+
|
| 61 |
+
isGenarateLyrics=False
|
| 62 |
|
| 63 |
# Define translatable strings
|
| 64 |
english_strings = {
|
| 65 |
+
"title": "SUNO style generator and lyrics format",
|
| 66 |
+
"performer_label": "Preferred Music Style:",
|
| 67 |
+
"performer_placeholder": "Describe the desired music style in detail: you can blend different genres and influences, mention specific artists, instruments, rhythm, and overall mood. Specify the vocal type — male, female, high, raspy, smoky, operatic, or any other. Feel free to experiment — mix styles, evoke atmosphere, and express the emotions you want the music to convey.",
|
| 68 |
+
"song_text_label": "Lyrics:",
|
| 69 |
+
"song_text_placeholder": "Enter your song lyrics to format",
|
| 70 |
+
"song_gen_label": "Idea for lyrics:",
|
| 71 |
+
"song_gen_placeholder": "Share your inspiration — describe what you dream of singing about. Sketch out your song idea: emotions, events, places, characters — everything that matters. Tell the story you want to turn into music.",
|
| 72 |
"language_english": "English",
|
| 73 |
"language_russian": "Russian",
|
| 74 |
"generate_button": "Generate",
|
| 75 |
+
"style_label": "AI-Generated Style:",
|
| 76 |
+
"song_result_label": "Formated song text:",
|
| 77 |
+
"isGenerate": "generate lyrics (experemental)"
|
| 78 |
}
|
| 79 |
|
| 80 |
russian_strings = {
|
| 81 |
+
"title": "SUNO генератор стиля музыки и форматирования структуры песни",
|
| 82 |
+
"performer_label": "Желаемый музыкальный стиль:",
|
| 83 |
+
"performer_placeholder": "Опишите стиль музыки: можно сочетать разные жанры и направления, конкретных исполнителей, инструменты, ритм и настроение, тип вокала — мужской, женский, высокий, надрывный, прокуренный, оперный или любой другой. Передавайте атмосферу и эмоции, которые хотите услышать.",
|
| 84 |
+
"song_text_label": "Текст песни:",
|
| 85 |
+
"song_text_placeholder": "Введите текст песни для форматирования",
|
| 86 |
+
"song_gen_label": "Опишите идею для текста песни:",
|
| 87 |
+
"song_gen_placeholder": "Поделитесь вдохновением — опишите, о чём вы мечтаете спеть. Набросайте идею для песни: эмоции, события, место, герои — всё, что важно. Расскажите историю, которую хотите превратить в музыку.",
|
| 88 |
"language_english": "Английский: ",
|
| 89 |
"language_russian": "Русский: ",
|
| 90 |
+
"generate_button": "Сгенерировать",
|
| 91 |
+
"style_label": "AI-сгенерированный музыкальный стиль: ",
|
| 92 |
+
"song_result_label": "Отформатированный текст песни: ",
|
| 93 |
+
"isGenerate": "придумать текст песни (экспериментальная)"
|
| 94 |
}
|
| 95 |
|
| 96 |
+
lang = "EN"
|
| 97 |
|
| 98 |
+
if lang=="EN":
|
| 99 |
+
TS=english_strings
|
| 100 |
+
else:
|
| 101 |
+
TS=russian_strings
|
| 102 |
+
|
| 103 |
+
def process_lang(selected_lang, mode):
|
| 104 |
+
lang=selected_lang
|
| 105 |
+
if selected_lang == "RU":
|
| 106 |
+
TS=russian_strings
|
| 107 |
+
message="Вы выбрали русский"
|
| 108 |
+
isVisible=True
|
| 109 |
+
elif selected_lang == "EN":
|
| 110 |
+
TS=english_strings
|
| 111 |
+
message="You selected English"
|
| 112 |
+
else:
|
| 113 |
+
message=""
|
| 114 |
+
isVisible=False
|
| 115 |
+
ret = [gr.update(label=TS["performer_label"],placeholder=TS["performer_placeholder"]),
|
| 116 |
+
gr.update(label=TS["song_text_label" if not mode else "song_gen_label"],
|
| 117 |
+
placeholder=TS["song_text_placeholder" if not mode else "song_gen_placeholder"]),
|
| 118 |
+
gr.update(label=TS["style_label"]),
|
| 119 |
+
gr.update(label=TS["song_result_label"]),
|
| 120 |
+
gr.update(value=TS["generate_button"]),
|
| 121 |
+
gr.update(label=TS["isGenerate"])
|
| 122 |
+
]
|
| 123 |
+
return message, *ret
|
| 124 |
+
|
| 125 |
+
with gr.Blocks(title="Suno PromptGen", fill_height=True,
|
| 126 |
+
theme=gr.themes.Default(primary_hue=gr.themes.colors.sky, secondary_hue=gr.themes.colors.indigo),
|
| 127 |
+
analytics_enabled=False, css="footer{display:none !important}") as demo:
|
| 128 |
with gr.Row(elem_id="header", equal_height=True):
|
|
|
|
| 129 |
with gr.Column(scale=0, min_width=100):
|
| 130 |
+
gr.Image(label="header AiCave",
|
| 131 |
value="splash.webp",
|
| 132 |
width=100,
|
| 133 |
height=100,
|
|
|
|
| 138 |
show_share_button=False,
|
| 139 |
elem_id="logo"
|
| 140 |
)
|
|
|
|
|
|
|
|
|
|
| 141 |
|
| 142 |
+
with gr.Column(scale=80,):
|
| 143 |
+
gr.Markdown(f"# {TS['title']}\n## by <a href='https://boosty.to/aicave/donate'>AiCave</a>")
|
| 144 |
+
|
| 145 |
+
with gr.Column(scale=10):
|
| 146 |
+
radio_lang = gr.Radio(choices = ["RU", "EN"], show_label = False, container = False, type = "value", value=lang)
|
| 147 |
+
with gr.Column(scale=10):
|
| 148 |
+
generate_button = gr.Button(TS["generate_button"], variant="primary", size="lg")
|
| 149 |
with gr.Row():
|
| 150 |
with gr.Column():
|
| 151 |
+
name_input = gr.Textbox(label=TS["performer_label"],lines=5, max_lines=10,
|
| 152 |
+
placeholder=TS["performer_placeholder"], autofocus=True)
|
| 153 |
+
|
| 154 |
+
text_input = gr.Textbox(label=TS["song_text_label"], lines=25, max_lines=25,
|
| 155 |
+
placeholder=TS["song_text_placeholder"])
|
| 156 |
|
| 157 |
+
isGenerate = gr.Checkbox(value=False, label=TS["isGenerate"], show_label=True)
|
| 158 |
+
|
| 159 |
+
with gr.Column(show_progress=False):
|
| 160 |
+
style_output = gr.Textbox(label=TS["style_label"],lines=5, max_lines=10,
|
| 161 |
+
show_copy_button=True,)
|
| 162 |
+
song_output = gr.Textbox(label=TS["song_result_label"], lines=28, max_lines=28,show_copy_button=True)
|
| 163 |
+
|
| 164 |
+
with gr.Row(variant="default"):
|
| 165 |
+
log_text = gr.Textbox(value=status, container=False, lines=1, max_lines=1)
|
| 166 |
|
|
|
|
| 167 |
generate_button.click(
|
| 168 |
+
fn=get_style_lyrics,
|
| 169 |
inputs=[name_input, text_input],
|
| 170 |
+
outputs=[style_output, song_output],
|
| 171 |
+
api_name="GenSuno",
|
| 172 |
+
show_api=True
|
| 173 |
)
|
| 174 |
|
| 175 |
+
radio_lang.change(process_lang, inputs=[radio_lang, isGenerate],
|
| 176 |
+
outputs=[log_text,name_input,text_input,style_output,song_output,generate_button,isGenerate],
|
| 177 |
+
api_name=False, show_api=False)
|
| 178 |
+
isGenerate.change(process_lang, inputs=[radio_lang, isGenerate],
|
| 179 |
+
outputs=[log_text,name_input,text_input,style_output,song_output,generate_button,isGenerate],
|
| 180 |
+
api_name=False, show_api=False)
|
| 181 |
+
|
| 182 |
demo.css = """
|
| 183 |
#header {
|
| 184 |
align-items: center;
|
| 185 |
padding: 0px 0px;
|
| 186 |
+
border-bottom: None;
|
| 187 |
}
|
| 188 |
"""
|
| 189 |
|
prompts_enc.py
CHANGED
|
@@ -1,7 +1,9 @@
|
|
| 1 |
# ⚠️ AUTO-GENERATED — DO NOT EDIT
|
| 2 |
|
| 3 |
-
PROMPT_STYLE = '
|
| 4 |
-
PROMPT_TEXT = '
|
| 5 |
-
PROMPT_TEXT2 = '
|
| 6 |
-
SYSPROMPT_STYLE = 'Z0FBQUFBQm81WXdiQ0xMdzRKT1EwaC1hVVRqVEd0ZlM3cUVsQ3JKN0dqREpNLTZCN1NmTTRLRWwyMDFXeFBvOUl3WlQyNklCWjFNalp0cVFvMFpDWkk5dnRMbXlOdjUtVW5raWQxTEVHc2Q0eHNVSkE0eDZrd2xJTDJCTG14blJTZVE1NWhDZHFpMXZfUFBrRzVpMHZsVFZkU2Q4RVZiZEtWUzI4eFQzUXQwS1NFWlpJbHIwVlNGVHdic0NpdDFQa3JEVHMzUzVEVV8yWGU1M2JWbEpUWGgzM0k1T3ZJSjRERDRmUGpWbnoyUDNTTmZ6YW95bDNJYm9naDVZZzF4Z3JkOEJyTldTYjdXZUQ3Y2xhR2NBYUdKZnp2dEdFLUJ6T0NhOUhWbTlyc3lTNmN2azJpTXBPZXpXbVVaVjVDRExnOXY3dklDN3daUVFiM3BHQWRHaS1UcUFVdjZVYzlTc2dQZHlUSW1vcXdON2tzTHRnX292cFJSbHlQOHpPMGJtOGJWLVl2LXRlQ3FVVTh2VDQ4WVB5OVBzMjJiNENtTlFSek5sTGZyS2F0eVEzcEhsa1RVeE5NZz0='
|
| 7 |
-
|
|
|
|
|
|
|
|
|
| 1 |
# ⚠️ AUTO-GENERATED — DO NOT EDIT
|
| 2 |
|
| 3 |
+
PROMPT_STYLE = 'Z0FBQUFBQm82Q1ZldFRtZVduXzV6YVNVUlZwQUxncU1hSFc0TXVqS2haN21pTHJsWFVTXzZXNTNQYWZ0amRJX18xMmhKbkRJa2xuV1oxZVM3UzNhRTl0Q0p3TFo2a29YRDdYMEtjU0NGTVhWcFo4UHprSkVtSDVrdzFsVElROHZGM3Y4U2pBLVFtTWJSRS1lZzJ6cGxBUERUSS1YOF92VF82WGdPdzFvNEZNTGpfZDRSRVNLWmxwbGg4aktGYXl6NVRsSXdRVWZvMEszTXdWSGFDQTAxb3g2TXBEQ1VaeVJSUURJemdvUEE4RXFwYTlqaUdVTDM2cTdQazg0OWc4OC1KSldEbklYclowSTRtNXdCN1FVWnBjd3RCT01xaHpxWldMYWFLRTFMd3otYU9wQkZORWNneFVhNXVBVWFrX2ZybHZFeDU2Ykt5am10UTgtc1g1amN0SWd2Y3FMeUs4dmFEcko3QWZnUUhXbjJDelgwRHFOZGdKeFJLRnhySl9qcUUxU1Nvam1XSjN1REI0TTFHZUpqdHBMRUYwcm56T0phUjl4SGJicmNNUlRudGtiWWdKTHpSOXl5cWd1MkEzLWpIcFl5MHlfZV9kN2RLeXlYSzhmTW42QlpxVFZIbS16ZFJDZ0ZTZ2RBNDJxNUlyNUdlT1d0VXdaOHVONm1sV0RXZ2xhY2hjbk9mY2VSclRSdW1UNGlDbzBmdWxId1gzekFLNmxYUjJYQU5pcE9UUTdlUUUxb0VRPQ=='
|
| 4 |
+
PROMPT_TEXT = 'Z0FBQUFBQm82Q1ZlbmF6Sko2dkpodjctYncwV2o3T0N0VFRxNVhOQ0syZVQ5OUJvUjJOQkRNYlQ2RS1KLUhnV1hLbkhRcVNQWV9KaWozV3VpLW16dVdKbEg4OXpZXzlDVUZNSVFzR21RQmV6NjJWWTFDczVXZl8ycUxrYmN6djJXZE9iZ3o3TGg5QlI2S0RqOHZjOGUxbC1xVElzeU1VX0Rydk9KaGJ6dGl4cUdualg0dUVrZnNmSWxMLWlIdFRuR0V1ZlU3NWQxR3c0RUpNTnBMaDRicXRTQkV0ZWUxT01Qc2pxa0g3aEJtTGgzdnI1eHFBejFBNG93aGU5NjQ2UThNNG9HSnF2ank3Ym9BSTE5TUpKV0k5UE1hbHJvN1lJX19FS3A2RUNtLWQ0LXM2ay01Vm05NC1BMDR5cXVQZG9VcW5MYzVnbFZydW54ZkZ3REw4ZUFBUzBGNGFRMFZkYV91RWdqMEx4YzZQTS1vaE9Nb21oU3dqelhSeU83Z3hkdXExdzhHUXFKRGJTQ3hLdWE2R1N5WmdDbVNmQUlpeURnWjE2UUVCdzZJbzIxQUluZ0hqRzF6SWx1eEZYbGRobjBwdVlsczJyN0pJLWhsN1ZtSGh4OGg5NUEzYXdPS0JJQWRjSmlSMGN4dVluNWhQc3RPVWVWQWtXUFJ2R0ptWEllMEZKY3pvdW9hRXpMWUktUE1QSm5YOU9nQXNjSlNWMDBNWHVTblR6UV90NEpqcTVSWTJWT0dxQkFhRHF6RVJxdWNNSTdhdy1OZFB5cVRmNTVCX3B5Z29ISmprVlc1XzJUMC1vRnRlS0JDdEFuY1Y4SHgwYXc1T0xIUHJVWFdCZzhIbFBwblo3TFBDQWpKVGdqcE5LR3F5eWowUnJnUlVMbU43OHdydmhIazVXYWI4RjlUQW1BTjA1aUV6ZnkxSzlhWDJhWHlLd2pJVkltdUJrUVNVdzhpM2RjeUZBeEtROWh2YmFtNGNDWDl1R0tMRlNFR0lkaFYtSkxpMk1xR0ZOVkdra1NUTHdBVEU2T3VNaDVadTdIWmNJdFpjYTdfdzhUYzZBVUJMbUR6dnMyeDlwUHBWLUtadE5pemN1VHdoandLMUJUZWdKYXpuVU9DM3pXTlFCNG1GWlhyM3NkNkR1SlFtWmIyb1R6NzE5OXdaV1JNN0dJb2Fscmp3SzhFSFdEbnRheEltS3RzVFNsUGFQYTBndUU0Ny1ZM1VhTjBicjBXci1lellTWG9DaUxTQzhyZ00zY0xyTWFzSDNkSzRqWnZWaXpfcjVfQjl3Z2FOR2JjM2ZGOHZ1REVCVEh1TF9acURJOWxMdVl4U1lOZG4wM0JDOVdaZHpndDdlRDFUd3F4Ny1KRlJJVWZaXzFfX2VNcXMtRTI4bnpUdFZQeWJMSHNhMmlYZnJzb3NOYjdlRnFGaEkxU3lXVVd3YmpEVWQ5RXVlY2gzRm10N3ZYVVZleHFHV2NDS1BGcG9maldBZmtYT19OTUE5N09HWjZ4dHNRSmp2NDRobXNUNzFtRTNDS0MwR3JzVGhCc05oSFVmVGg5ZWJfMkRjdGZDTzJtVHVOZE5EWjc5b25OUk00cEI2YWhOdUg5X0hLZ0RVRThWQ0ZQUi1VblEtMllJU0xYdFVsaWViclVBbUdVY2x1a1EzYlVuYmhEejJ0MTJSX2VnblA1SERNU1c4WVFJTU9XZDQ5OXB6OFNmaEl4V3k4TjNiMmg1aUJNbzZpYVhRd1Z3bFc1anUzYlIzenAzc3RienZCdmZIekYtbFQ1UDNOSm5PNER0eWhyLVNNOHBkMmVzRkQxdWJZRE9Oa1Ryc0c2c0FwcXpXYnIwSHhhSDZ6d21OM0lubEUtZzlaNUlDVHB0MXpfc2ViRjdGOWVIa1JCYllXQjNnTWc0Z2JoTmdRaTlITmlaUzlRSVFDMUswZ01TY3RGVktpQUYzbGxPSFZrRzdzQWpITlVwZnZFNndGeEt3ejlfQVRrTW5FRXhQSDNyYnlvOXF1Q1R0dmRSbk9UMkNVMG93YVpwT0M1aW11dlJtS093bWFmaW5Tb1RraGhMRjJvUHhtSDcxMHlzWGE4Vld5QVkycWZYa0piRjBNcWxZbkVVbGktLVdMRnp0Vl9qdTIyMGRTVmNkSUsxcjVNYWlGMnkyVHF1OWJoM1ZnM3lrdDRqWUYyLUIxSjBfaVpNbVY0TmVoVU5QTVVhSUhTTlhaT2FzM0ZQUDBEU3hCLTlXa2EzRXVjRjRLbC1nX2xMVkxXRUJlRmNUZ1prVTJmdmxLMEszSmdobUpYejZOeElPaDY4Q0F4dVMtR0ZNem9yV0s2ZGhHMmZUbGpkaTI5ZzhMaWNOQnNfVG0wSlhVVzUyRVFOUXFkNlJTb0dTR1h4b292XzBhcXo5SUR6YzRPVXZkYmdtZWZTX3FIMHdfcDdOQXgzbWU5SGJULW1HZm1kTzR0WTlxSkJDOEdIMXRMTnpTemVWWWR3VXk5XzJ1ejFhb1AzcjRQcFlnTm1UcFhMaUdVa1V0Vlk5YUo0ZDJ0aXYwY25WbE1KVEhQNnRHWWR1dTUtUFlzZVN2YkZMY0F3bTh2NWI5WUdoeFdicHV3REpiN2ppd2oySE01NmM0eHhtbHNhZ05jVjRibFhYZ0t1YUlJUWJCc1NNTU45bFpLOE4xQnluRi14VjgwX1F0VndudWZGY3FyUDVudlRvazBxMENMVUN1bHhjcEhZeEpSNVhPMElvUDFRdG03cmdTR3MzeFlrOVBhYmdVYVlDb2Uwd3V6QzlXb3ltakR2QkdRNTlWdms1bUFHZTBidmFQdGw0RXJGYjdqVTZhZm51TFJXZ0F6OWY4Sk1mR2xuTGplaUJuSVlyelM3eDdrVXhGOURMQVJlb19TU2ZuWXp4UHc1M3ZZYm5jOXFOSmRhdnc2Y0tlZllTVXdJNi1WTnhkQlRDTFdhV1MtbnpRYlZPeWY4aFRVZXZycW9HaktIUlAzUGFCankyeFhaajlrTENOVm1idVR4WFdTbHZBekpBYWJ6U1Y1UTJzcXBLT3hSWFN1Y3lNcnFudV91b1FoUzBadjI4TkhxWFVZSFF6QWRKTTRidmRIejlpR0gzZDhERnNRYVVrby1lVGNReEhIR2tlM0w2Z2IyQXFoSHB3Wl9adXNFWWx2VzlxQ2JBcTMzdndEN1pxZFhraElSWDNWNjh2T1FhZWJWb2xxYW13TGJ4SUMzLUlCZXVZLXRxaEFPZ2xCbjZDa0hGTnJZNVJJam1aVGhSYnd0MGdLSVcxTHJWUTNWZ2xOTjQxc3FHQl9vNEh3b0RPajFkWEVSS2hXb3dHdVJRNjM2QWtwUWwtMTJwTThYUGVXYVY1NmZsUUFJOF9RaFdpZFRVeU1BUTlVeXZaV0RZTEpvUkFQWXVoRF9IVy16RUxmeVU0eF9sYjRSYUhVbWJENVlSVmFjSzlpSGd5V3Jua3BiTHZLOFluaGQxVGtwdEluRnRpNVZfUkdsaHAyeDJIbTd5Z0piaWxVNV9jSTUtZUd3Qm56d2E5anZ0M2NkTV9CUENyRlMyck9VN2RndmozTnZCSTVCLWRMNXdic3RCeEhkXzEyUzhfOVNzeUVMaDlnMmZ1eUtSbVJfOUQxNWFtaU9mVDh0d05TT2dEdklmQUpIMk1wc3ZnS2FacjkxdHBZcmhoX1c5eFRWNVVlajFOQnM0dVF6X2h2NjRxRU94S2FhNXBLM0VRWG5xSnFIakxZZmltWl92ZEdXbkZSY21xRUtwaTItaVVtVG4tMDE2VjlTbEpUanN2WTFiRkFoN3U3Vi1RVWJvbnN2TFh5ZHNDRGNYZEtUcFZzaDlCY1poMUY1c0tNM0tYX3BaMXBSTVZZaTh0UmYtVlVtSXZrNWxuNVhfTEFVclN5ZzJ3SzllSTlibUpWU1FnZmNOUndYT1RHWVhZQkU3RXJFdnBrZC0tWm9mb0U3bS1NQURKczktRFhleDV1MV8wcWdXZzY5cUlVdXNxUmpzeUNwRHJkakNvUVdVV3B1NndFNmRYMGdCM2RlelpncTdNME00ZVdHeFF5VDF1NXp3TUZhT3p3blQwbnQ2cmdIYlhrMmdkM1FWd2ZXNXZVRU9kYmFPenBiUTRobnlBVThvVHhDQnR1alRVNzVIdk1OLXprZy02dm1YQ1NNTEsyT1ZCTjIzbnJLdU5PRk81N0xoRzJSQ0YzeUpaXzU4NXlOVGh2N2loc0VRb0xVYXZTZHRsc0lrR1JOdVByR1FoZkxiRnN2ZnNUTUw5elY3ZHpETUpDMkdnZlFFY2VOV3pKSDhVVjBpWkZMalg0ZkVtanAyb09vM2JqY2ZTQTdERzRxc2wzaDh1TmlxRGt3ZHFhV0pMYzB0NVNxUkd3UGZabkFBWFMwMmZ3UGphUT09'
|
| 5 |
+
PROMPT_TEXT2 = 'Z0FBQUFBQm82Q1ZlYWg2cmNoTHBXR09ETmQtd1pkMVRRSHVaVU1UaTdISXRGdlViRWE0N1pLSFNvT25DVHpTanZjU3hMT0MwellUUFBuWDhUcE9LR2NuNnh6N2NDVWRHZDV5UDFHVU9pUDQyQThoQmVPVDlzYXFsaVVONF9KMWYxa3BzZzlEX0RJcWE0bGU2VkpRcENYY3hkcUR0LTYzZG5mUkloZjA4WkxkZkduVEZpa055RUFZWGlPeFVjQW9CTEJCT05BeXFGNVptR2g3TDZzUjFVMmRRTWdSeE1ycmthbVlINHpqc3R4M2N3Q0pnYlBPNmxqNWRwLVE2akFuN0J6b1d5cGlQaV9ZQ25FT0l6ZFZSelZTM2dEYXJkcWJNVUtoS3lENldfNUN5TWwteEpoWS05aEFFcXlqWklnZ3JQSnNrTHRlclpWbkg4elY5TmZqMDJoVEpHMGtIRS1GTHpYOU9fZEZuODZGX1pjNGJKXzZudE1RZEV3VmUxd3BfUHBYWGQ0Z3FJU2RMVVUzYTBSR250c2JPb1JHUDRTTlVZbUFHLTBjNk9fb1BEbHBCRDFnLUk2bW9EWTVRd2dDck54eWN5RHNZeG96NGNGeDd4dWNORFdUdm1ibnZ4TWxxNHVROHFvMXdQY19TczRUdTI0WlNEQ20yQW5BaFNLc0V4bTRTLXdDOW05SmVsSHFZVDJpSW9TckxUamFRVXhkdEdrNHhVQ2V1emdxR1BfUnBDQWZBRkYzUUtodjgtbzk4NGNWWGxueTRJVWRrR2ItU2g2WDU2Q3poclY2aXRTcDc0NUFBeDdxNHo2VnR6cEF2QU5KazhvZkFrYndsUjFGdlpqZ3A3NEtnYVI4TU1aaTB2cy1oLXVfNnlPaGUtX3lvcDhjOGl0TG4ybzBtQ3hPczRabmJFZ3FMcUFjUnc3RU5vRUoweldhOFhaUFZfSHBsUDJyWGNydlVHS1RSSlBfcldHcU9OREQzeWhrTk10SG1haEVadEppZU5iYnZia3lIbUxkUXRpYzFRZGpKNG9uYVhaOTBTeFE3eUhvQ0FTX09ydz09'
|
| 6 |
+
PROMT_GEN_LYRICS = 'Z0FBQUFBQm82Q1ZlOWFsZjlNNTlIRjR1SVJmeVZ3Y0pyckROQXRKb21WNkhuYjA1Nzk2dmRzMjRWMGI0LUhnNXJhTXBFamoyOVJSMXFuZEtENFRmc2xDc3FHMEx6bnJ5SHFvQl9NYkpWQkhEbEYwM0ZGcG85YlQyclhPT1dSOHdfaEd0MW5Mb2h5OF9rbnVPQjJJYVRqLW9yWm8wdWk2dFFlNDkxaWVJNWtHZ3dERE1uZWhwYmdOZXdiS1lSTExDNDd5TU9kX3BTTTVrNVlqNmNsazMyNDlNRGh2STZ2TW9RLW03RzFCSXNqTERDSGRMSlN1N1pIeVhvSVR6Y3k2NzRPN3R6VGF1T1ZZRHhxd0VnME4xdGZsaE55T0h6YWs2RUNpZUlWUFYyQjdVbm92OEs5RUpraXJfdnNUTnVrRmFneVBRb2dRSDdKd1pWM2ZQT2prVnE3QlY3cmZvRjFwamhaYkpyekRwcjlWbmI0eENCbEtSVGNrUk9kTmg3czNhOUhzS1ZBZUNrdENlZlJ1bDh0Yi1NUGNTc1pZcU5jQUVvaFg5ZHNTYklSbUhqLVRSOVJ4dzJmRWpsV2phNjdrSEY2bXNmZFhfSy10cnhBZU82d2x4WV9VWkd4SDB2NV9JT0N1WmxaYWtNSVJSVnNxc2dJOS0xWjQyeDVBWTYzUWJKZHJmS0ItVjhRN1p1QXlPVlJ3N2FFM1psZi1laVI1Xzc5dFJ5ZWIyOVlzTy1ydzctb1BFaUI4WjRudFJ3Z3NlejlnUF80eUxZT1JBbHVHcVpfSzVnalpULTA0SmtGTmcyXzlMemQ5RWRsazVSOEViWnBIQ3FoSWo0b3plSlloQUhqWFgwUW9sUGtNOHJlX1h2OEwxWThqdFhEeVRoaUNJT050Q0Z5dnZ6Ti1FSHJKNHJfZDktOTRxRzVuS0kwSWhtMUFLTU1JZ19xT09TR1hpQ3VYbmFaQk5BdjVvbEZCQ1ZzY1VQU21SQkp4ZHFVbHVtcUxEUVd5cW1zeUxCWVFQTEd0ZUFMNEJiNnVySlpjUjR5OUVsNVFOamwxMU0xZlhWc1lFVDFFS25ucTV3NTRwa2dWSVhPVUIyb2VtVllvLWQyM1VQYmY1WTNMMmxJZnJsZVpqbEJFMVR2Ul9IUFhkMmY5WXdvMEhOb1A0c1BSUW51dDhsbmViUzdkbmxPMUhfb3c3YzBMRUtIdXJnMFpyczdQVkNscVUtdUZUUThyeEFFVkg5blowUmw1Z1dvVk9GNVF2azZnMzVITkRHV0daQkxObU01YzRyWmFPM3RPRnRGNkdDdDh6OWpmZ2oxZEMyM1pic05saDBYSFRDS1FCVS1oaFpwOFBLMU9CZ1M3cTVQYXdkaFhSYVRpRUJSLXBGNFlWMmQtYVUwSTEyTVlOTGpkR1B3QmVJblVmRTBtbnlmR3lNa1Vsc0JNa2VILVI5OTRxZkhUa1hRNW9UWlFmS1RIS25wY0VaWThVeGROOFA5N3ZTU2hHcnl0S1ZuYmJUYTdHOXhtYnVDUUtCQVZnWFlFaG5mLU9MYUR0bFlwTXMyVzgxWjk3YV8zUTRmYmpsemZWbHo0U2tkbUVfWHlNUzJrVDRvYzdtWlFHbVV5UEpTMTVVSHZIb002NllnQWtNT3NiQVRBeUtfWnpGRmNiNmgwMTl1bmwwYjNTOElWRnI4NWVWVXgwT0xTSHVsakx6YlZGRk5yQlhrMUZoNVl4bkdYdGpzbTRsbHNPVzdXX3llREQ2STRicm1JXzR5VXdoMkRHYzdZVTVQQTFnWFljVF9mTDdOaFBKUnpxRWVUOC1Zd0Q2NF94Ykc5Zkw3VUFxbXBuX2I3OTU5bENFdVVTVnBYb3hpcGRzck42aW53NEVLNjFQb0tNcDRlOXFUb2FNRk5tVG02NGtzQXBsa2ttRTlEX1Jqd2FLMmFUZk1JeENOTjNNbEcwRHFQa0VxUHpqaWxNbGhybTZBemlJaDBuYi1iS25mZlozcmNXY0xoY0Jpcy1mZU5iaDZYb0d3aWtESW9wcmtEWGx6aC1KVEpPMWNxb18wVTFNZjlLY21DVEZMYVV3V1Z3MTE5Z2tJTzdiNXdkaEhmc182UHBWT2VTc1Njd2RTS0h1UHBoVnJUYmdwWE9obno2MWJnSGJ2QklyS2JGbFQ5TzQ1Sy1FMFdrbTZUOWRTQkEyTkxsdGY3d1RfNDJwS0NzY3BCTmNHdDhVMlg4U0s0dklxNGJKM25ONk5udGtkUGdpdVdicDdZbkxfMm03dTJHb000NlJlZWpXa3ZBRW0yYTB1cDVtM3RFWHQ4bDl1bUNxdXd1aXZiS1NoVG5vMUx2UG9Wenp0QmFNMllpZDZhUDdyM0NRRGFIdVI4al83VHBkWWlCVkhna1ZRdkpVcHVXOW02MmJwMVlwc2loa3ZfZF9BdlZXZlZVVjU2M2NVZ0s0enl5bDY0X291MXhpMXYyZE83RENwaXJ6aEN0Ql8tQWNzY1Q4V29qRHhRRFRlVEMzemFxRW5GOGpzUnI5NHJwU19GQVREMVFHUGpsdll3TTVHLTRhOGUxaTZ1VDF1ME10S1l3dFNMN1ZaNFV6d3VrSUJSeXhadzlIT0NwR3NuZFdEZnNRdjk2NzdEMTh2VzRnV0hxUlFqaHZaWDZFS09Nd1o4Mk82ZTRoVFhhMGJMSDJiM0VaSUQ4QU5Wd3NYa0l1d2Q4ak1BeXpsSVI4NnhCTmFqc3RZSUhwWkctVFFmTXpGZXN2aWJwVlJyZDdPTjdMYU1CRXlCVkRkN3ZVWl9qOTdoUWdUSVVjQWJ2SDlJa3hFTXlsNldwU0xiaGl0WW1ua09DclBGekcxQ3JnblRNeHNUc2QtYUdQT1FYcDRPNkgtU1lqQTJrNGZfQkVCMjFEVTJCYnhVM0U3QWl3b0FKeDB0MXRObDlTczBQSFh6OVdiMExTRmlpcVhvMUtOcHlQbzg1ejdQUWc4REJOU0F1bElrYjMzRTU0T3J6Q0ZjV0xCV0Y4c1hWS2lsWlU4OTloWm1TZHRsXzJvSHJTSGhkVl9FWkk1Z0puOVk3am5MWWowUnBSRXdqbUVCVE8xUnc1Z01PMzBsb3VBc3F5ZnJrMUJ4OGE0MmtucG9TZGdwblVwTGMwNjBkeUpFLVJScmcyekZTVjd1N1dTaEFGNUIxMkVfSTZnUjZkaVBWbEotM2E3TWw3clctLUFTd1NQbVl5SHVHbklCaHJaZWgtVDZvYkxRdkc0SjVMbk5LMFhlODlMQW1OZE1jSmZTbVVBeW1lVnV2bEZQYl9XdUxOTFZUWjlwWVltY3BoVlZsa3B0VTJlQ1I1Qnd1NUlVQ0ZrbHVNMXNHWklLV0pna2tXOUhPVk5qUmxrUEVPN2lzeVgzN2h5MmEzTjdhMUJ5LVd2QTdMN3dIelQ0ZXlLWWY1ZkVJY04yMkJJSnlZcDJOVjFTblhyR204RldIX0dFT1dRM2c5SjF4ejViMy1JUExVUlFMcF9yZGZBcG45WlpmN1Itc1BsY19abUVOVXNoVFpvWTZ3d2J3M010WTZudnA5WnByc0N2NF9LQ2p3VTVPWllWZndtLXdfa2JNMGl5R01zWUFpR2NOR2dPZmZVOWZLU09tX0xmNndYYm5PeEw0ZVMwWTJfTHh4a0k2Z0RsWF9jUDg2bXpQX2lfYlR2MHg4RW1xM1MxU1VILUpGRk90alpsUHpHaHpUN1ZaZWlqMjZqX01odUJFZ0gwOVR5RE4wbW9aUnlxUzNmZ3dZbTFPT0twS3lDeVJuRWNVNGg5c1hnTVFSXzd6WE9hYmtwZV8xMW5wRjBWbHhfaU5ma1ltS3dXeGVYcnlJSEpfZ3ZUV3ltTzIzV2h3eDlZMHlsQmxkWVJHTmJnQTBZSU1GbnFZa1VXajhaYndjRG90Qlh2SzNiU1E2cFU4VURVWlNaLS1xWnFtaDVlalRJb3VXeWNtWF91Y296Z3ZGNUlyN0ZBQmNpS1Y2ZW1ORWl1cVdfMHZfQTdWdVNXQmhzSVdnMDF6Vmx0aEQ4T3NXN3Jfb3BNeEcwLW84N2p5VEltdDJMVUFOeGtfMktKY3M1U1VJNDlRMEhoSGlkUU05aFU4WnpJQzI2VXQ1UkRqRTdva2JzR1JzRzZOaEd6LWJHNFNHZy1vWklJQVFsVElXMk80UkJpaE51Wm5HRllLRnRiMjlOTHZCRGxscV9lZnU4NU1sSkNjdjlCclhZWE1yVWlLSTd0cWxETjF1MVlUNDVYdkFjYmdscW12bWkxMW9rd0EzMXlnYko2czFhUGFMZldXSTRGVlRPdFVkR0hoNnRJRW1mVF96YnhaeXpBQkU0Q1BkOHkxcWJaaXczR2NGR1JWbU5UaHp6MGQzZzQxX0ZlLVRrNWJrVnRIMEZuR2JocnN6Z29IVWRaYnQ2MDVxQmg3bmRWZkpIcEg5UkNOUUpUckpQdXVlSHNTcGFqWVdUNk9MdjJpV0tyVnhXUndlSDh4UVgtMk1IZWt5LXQyT3psclplbW1Tdm90SkltdEhSQWI4LWF3bWk0LWl0Wk13Nl9KLWtNNnRFeTB3SjZkbHU2TG00bTVaUDlXdnZBcWRYTmpHUnZWeWpHV2NqTVNLblhlWnM0TUJoRnhrbjdScVNzTXE5b0l4eVp4M0IwRE1oUzQwYmZpQmI4Qm9YbVd3Zk5mMjJrNWtDMVlZemhVVUZ5elRXYmV1eHdJWnk0UFZKc1poNEJKc3IwVFlGanE4MEJTOVNHMnpPWHVCQ1ZDVlVET1pmbzFhOUpJdnU1bUt6bTlwazJaYzRIbG5OVk5yWE5CeVAtdklMQy1fc3l0UTdlaHBkSmtLaUxTTXVVVXhLZmlDb2dCUUZadXVSc010OUc2RTVKUkEwT2JoNWZBblpuaEM1dmxxQmdFM2hYZVlycGU0QzRGSVJaSHAtSURyY21ZMGgtZzNKSTNfRmVYV0JvQWRmQVJCUHBoN09uZUQ3SUNjUmo3S2dOYmdqOGxSc2V5VFhObVBubTdIZDZXVzhXM1VwRnRoOFBYaWd4ZVd3MTM0bVF1SVYtbjRrWTdsNXRPZU1NSlJjcnBRX3k3ZzZBbTYwbFpjVkIzNnZzMDRjV0hVUGdHRXJQYnlMUUhPc3RFcjdRWWZ4d1lnWjFhME9vWWRCSHAtMUZRTWRRTmYwaEpjSGFzQ0RUbDFHUVpOS2k0UjBBX1F4empkTWFZRHprQkhWX3ZXOThOVGxlLWdrc1pyT0tsT2s4Si1qS3A0UGZ0RUk4SnR1QWNBZ3JXMS1jSFRTMEl6RjJlM3lvb0FNdS1wSjNIYWdlaVZ0bW9SNVNkTGJUYkdMNGVIN2RtUmZFTF9PbDZKa1J5aEhuWWdId0FUeVJkWGtNQWZYOUpsS2lzNmN3VEJMZEFLZTRIUkhvR1pkSkVnR2tZRXBfWWVqZE5ZdExyQmNyVjUyUUU1cGFFQVZLZGRqWUNzV2NsR2d6YmNsZTh1YWxpRVdYZE9xOGpqMUtSVFJxc3NKbGZqNlE3YWdHS3pQSUI0S0NUNGRBNUtZekM2ckFCSDVZOWF1c0pSdTJ1S0VLRlU3bzNfMVd1dDlwUEdSTkJPMmI2WUJvV0tUNUxkcHJsQUpYamZ3T1B4TC12T0J2UFNVLVAycjFNQWhZXzN0NEhBZWtVM2Q1UkQwV1VJOGJjY3B5LTBMWjlRbGZIQjJoRzB5UVdWOG9PTEx5VXhxNGRZQ0luLTJMQmtjb2Z0Xy0tdHp2Nk90alJUYWNlSndWSllyby10MXRtNWtGYm9LM1VUcHV2aDlSZEk3c0RXd0JNdnlrdTlORHM0MTJRR3VuanBGVVhna29qem83Q01IMUxvNU9XLWZMRjJLSUtVMGpJdnRGTmsxNzdXZU9ybGNhRHo3V1ViUndMcGJmZnJyQmxiM1lwdWZHSUMtcktqMEU0YmRUQ0VQTUJBNi1pdmpHVG5YX3QwYVBGTl9tQnd6cEZMeDFhbTJmUm5mT1VFcjd3YUs4MWk0VDRoWVB2YlJ0VlBiOGtvWXoweWsyOF9mZ21WUmM5ckFVZ0lMd09Ub3NFQmZUS3FmYUxnZnJoc1lqaUZZTVZ0NkV5ZElCN2tYOUpVUklWVTEwX1hIRGpOOTZubjhLaVRzVE9MaURVUkM2MFB4WFY4MnF6OHlPN1NXTnp1LVVUX0w2WUZIRTVBUkZZNmVzMzVKb0hxUjg5QUxTY19hMUFiU2UwTElXemFzZWZBWlZnZUxHUXVJcUZfMkROZm11OVV5LWlObGZRYXBhTE5sQ2NnXzdDeF80TzZxNnFWTHkzZlZwUGtTZWhEZzFQY24wNXpwak43Q1U1eEt5WUFPc3h1TWFreG9zUDVVQlJkaW5BSDczclVPa0lZWllseUQtUFBxa3VPczNGak1rY0RPU0xFWmxRM1NvOHBJcUlNekxJbzR1RjBQVmFVRnFCYnBJZWp2TTB6LVMydnpsd3NNWTExRDNETXR6cEhnakdJSVJ4ZFpqSkRESUF6Q0tESWZuT1NhOG5pUkt3MWdSNlBRc0pDUnJuSURzbjFOMElZXzlKXy1lYUtKQXl2NllOSEdBTHRvYTBvYlIzVnBCdkRVeENaUXhlUm9raUZFeFMwTnlOQk1GVk52bW81dks3WWVYbk5kREV2UnB4NU84R0xaYXNlZFJ1djNrU3NoeG9CTWFLa3pTV3Y5dFNjczJaVjF5VFgtLVhrZFdkWjUzLTNtbjZoYmp4VWxoTVlNV2tQQ0ZZdmt6eVJ5cFlfd3pDd0VSRmJwVjYxRnh2LVBvTGNkZTZaZjc4aEpCR1R0MHdQWnM5clphaWoyVkExb2hxOHRtcDBPVU4wbzZaQmdMbXFSdFhQQnVsbnBtY2JveTN0YjF2Ymd2d1B0MllyX2huY1c2a2xWOGVSN0Y2UF8xMG1JNUl1M0ZveThIcklLeG9YY2h3WDlvZXB0YlVPWmc5NEJ3R3ZFTksycW9fT1VNbURhaXRPaG9JS3RfeWlfRjVMSWFLNlBrVnNpTEVaVDhnU1hRSjExZDhkcU5pM3lOOUFoU0xoZzRpNVZjOE8wazJNcXc2V1BabmZndE1JSkJqWUZjbkZpN3pnWnhJMzV1NjdkVDdxM3hyVnduamRkR0JzZWxtdkpidzNfNUx1ME9sRkxzVXR0Z2RiM29LYVY0aDUydXROMEpHZXhmd3RXWDVoNUlWTnpDUXo3bTBfN2tSSG41RHFhT216NVdBaHFDV2Z0R2NVUWp0V2wyRFU5WEtmWnBxSnFKU2NsdXN6eHcwRnl0dUhUR283Z0xSakJ0QnFTQmtyenZ2M2NkUEltMkR1MDBrR0hrLTU0eXhUazJJMnh2NkJobUhWZXBHZFBIZGZIU0ZmQUtUVVZJbENVRUhnTFdlWk5UZzF0eTQwRzRXODd4Qkg4dFlhR1p1Ukk2LW04MzIxVF90Nk1GR0toNGg2Tm1IM0tQWnFIQ2dzVUNqQWlrb2M4Y0RKN1RNSlB2ejhwVHdOQ2RLS2kzNEQzZnhVV2daLVJaTlNBaVp3QXlpQ3JrbmJqanJlcmRWY1B1TFpXSkFwZElDazNic0pvcGUwVjl6cl9DZUtEemh5ZWxONDg0YTZRRmJwYVNSajFWOXYyOWQ1MDNsTVNrLUtZNS1Pc0xxSWZKZ3JJTXJqdEY1aGRFcUk0WDhwQkZsem56ZVJ0RTdZWTc5bjExVTM5UkxKYTVUOVFyQ01Xb0ZrRldqMmxUaF9PMlFBeE1RdVYycGpQdjFvMEkyejNOVTRXcHlLbzlWMGE5NVM0cGJCaWtubDhRWGpuN291MFUtaXNfVzBPLURzR1BFQXR0WHU3QVhCRXU2eTZPU0tGa1hoT1BORW9OeW1wMjdUTDFzX1NYeFAyZnZQWW4zaFFPTDZBMjl6eDV6clMxUGYtUHRUZXlZYXYzNGo0RlQ1QXFPNDlDN0x3UGl0dU0xSS0xLTZpcFJseE5KSGlrSkg5dDgtZE1XX0VFZGVIUE91WDZwWF94MHF5RHJ2OGJOUGhHakgzS2F1eHRkM1NqWmhOMHNmZ1FBOVNVRzhqa3ZidE5ZZzN4N0c3cE1aeDBjeGh5NjZRVEN3aDB1Yy10Uk56eTN0OEFJemh3UDBWVjZDUmFnOEZzMDR2c01WSldOMkVtOU16TGwwQ2dTNnpQVUQ5SDI0WXB5RzdldmRNaGFmRjAxYnNnY1NiVnBMTEt6cVZVM2EtWGc4YkY1YnNTX25Gd0lkcGdWRlpERUhQQndSd0JZdHVLQXVsZ1hHX0trNkZscTJ1cXhYbDBKdHlDN0lDTkYxcXV3N0kwMm5Gd3lzNTRlRzBuRjUyVjBsS3BBWE9CcGN6RjE5Sm5yZEFPUFVPQndkOElyazBXa3lEdUdWVVdNTWgxMmdZNkNHSUFZSVdDWlJVRk9IQUxodUJIYTNSdWtTQ0JpcXJVQzQySGpzRUFSV0xZcmNCcjlablRBeENFUmhsc3BmMzRxUGR0cDV4U081ZW1SWUFGcjVRQnhhU0lRVXZBazVLbkdTWWdqaklrR1F6SU9XX3Fyb0Z3cHI3S0MxY2FWSFg0V1ptTEdWakRLdnBQc3o4UmtaSzRDakxqSDZsdC1rZWZTUnlLSmlkd1VsZjZ3ckdmVjlaN1JGd0EwVzRKazZTYlRLbzNmWHhBQ1RZMG5INk42akJlTmdvbTdZZEhUX3IzTkRnTVd3YTZDdE9HeFJabHlNMDA2WlFpc0xfUGFkTi04bzhieFRaclFMcGZzSEN5VE95VkYxaWMxNFZNbGJWV3J4TEFwcDV6amRIcE5HWTg3dkEtTkEySHVXcGQ5Y2dLRHFMOHViTVRBQ3hQdUVqOTkyanRkOGRyeklrcHhqUzBLaUJQSW1sUWh0ekprU2NlVzdZMDhwbzJNcFhhdFYxMVRQRll3STh0Vm1iVDhtdDg1NjZJMWlGTGkyQ3RIVkpsM0pUTjdmaU4xUFZHcVhoLWpMb0RYZkJ6WW5DQkNUakpUbHFSb3dyUmJFbzZ6NkNzNGhqQ3IxeUhFcFNkODlmbzI0MXg3TEowdEllQVZmdjVIUmFNU1UwTlpaNWt6eUhzZG52a0NMN3J2RkZ4dkFMdDlnMFVkcU5NQTFSYlE5MVViNXB4UXptelNxcUMtaEdrYVptVE53bUFUTk5DdVZDZUtxcUxaYUpWajdJbDdhSVNuYS1NYjdEUzJyYklrTmgydmhQNWVILTRTejNNZENHQWpXRUYwbWZpc1FMUnpmVjdzLXRMTTdJTDVzNk90Qm1wYjNCWmJKeGxIVFhad1RyWEMzT1RYT3hWemRVTEFWQWY5anpyeVJDWE1iTVdyZGUxc1BabC1WTUkxNkZjMkRxdmdYZ3BjazBwUlhORUJiaFVYanhIbnd2clpaT0ZLS0ZjTUV4VFdWOVpOeFJFWmhfUHZqSU84M0ViUmRGZG9JUTVOQWFtTGdEM2xYZzRfaHI1SG0waERoNTBMZ3oyX1BQNjFZZkdueFJReWg2YlJaV2FIT19pU19BbWRLbWxOU25CU3VCMmFLc2JnX2FILTdzYkV1clFzdk90NmtYa0ZlNFhfN2dxeXp1RURuVXBwal9PUUVUamhUWVFIMnYtdk5CSEpTaXNaQ3FQSFMxUXpjN19lN2E1TjM0R2c5eHI5aHBhamJGeDJteEg0WU1TdVN3ZEpHaV9kWnFsQVdCeWw2YmNHNkE2ZnBobnNUQW5GdmFGdGFnVXR1RS11ZEVrT2w5OE5EbURpcmV1R1NBNnE1SlJKdkcyZkM2U29jdFdpSzBvVlkyX2FKcWRRZmVnYmdOZExwRUQ2Q1FJSzkwajJ4djFaa21TS3pXcG9jd3dsSmNkczZpbHZBU1BEaXJxUjBMZ1ZTYTVyaUxDeFp6QlZHWml6M2RkWnR1akdxeDJFby0xd0JNdjVLRkVIWGszbkllYVdZd3RZYnJsWW45Uk9Rdy1odzBGOVhhMm11YmdHZUNQYTJOSGFiTnBsR25Ha25EdkhKRzVWRWNZWTFqRUU5d1FSSlpJc1hOUDlVYkxUQnZtanM5ZGxrcjEwaG5OcHdmeVd1elBzQjJHVng2Yzg5cW5hY3BfZk54WkcwQ1V0WVVTWW02OEhuMklyV09mbWl0UVlOSFZmMHN6M0JnM1JBRlozUWs0SEFSR3ViUFJhZW93NW01WTUwdEdGUm1HdXhkZlVTNzZCOVBIbzhfV3NYek9jVEg0cVFndExXTGlxQmtndks0WjFQSTFtcG14SW56b0ZydmIzX0xrTElLWmRmeXVWRkIwSk9WWkVqaEo0TkJVcXpMTDc5bGJ4YjlwUXNaQWVadHg1Wk9lQVBGQnBZZHFPbmIzU3p3eV9WQnlaREY2MmxzaWQzVUF4SkNseEJ0XzFzYUVnX1A5SDhVR0t2YVR3RVdKXzhDcG92YlFWR1NjbmE2eHR1ZF8zOFpxazVpdWxYUk5TYzFwQWczb2laS3NXM1ZManRGWjNhSTlXUGVheHgwbW9zTjQtZlVHUnBWejVieTA3OFVRWHdRR1FybmlhYk5sa2ppWmwxeVpFYXFxX00yS19QNHJkMlhwTUc0ZXlLNFh5SE1HMUU3R0FMeWNSSFFDa2t1LTVHd3RxcUdFS3J0bUZUQU83VlBMSnlGYWdvWHpybEtfa2V4cUg0V29VOW9KYTB4bDBIXzgxcUIySDZJSFRvZjQtWFdOMU1yY3VxZXZXVHgyTW5iSi0wRW5FT29ESlZWV1ZwMHZyV2t6bEJCOF9falZSWTYtdVQ3cUEzQW8xRFV4UVV3TExWZjZhN1E2bDc4TXpKTWlzZGluTkdVbG9mSDVPT1RHeDg2NEFNemd3WkdQSnNabFJ5Tm5KeEotSlJHajRWOTJsRGlBQkRHZE9GcTBtMlNaR3BhUXp4c0xiZzBWLW5OcTloZVFmU0MwM3hWV3QtcmVTbHVSRlc3ZzctSWJyU09Pbm40YnpfcWlOaWV6ZVRYbFg1Y1ptNmpkZUp2MlhUTHBEUF9FQ0w3bjFGTEdiSWxwU1BTWFRDYTBIeERoUlRYSTlHSmNNWm1nbWFpR3ZybU9XaHFvT1lxeWctWlNWNERickhnWGdpc1BvUGhLbFlBMjFaaWo2cFhyV25LQm1oZ2pySEgxa2ZEQTBIdjRtanByOEFUYjItTHhqOFZWb3dqZFNhbGpFbkpfZmIxdkRiYVZ4U2NxRG9LTldjeDJpZ3ZiakxybC1VWkthd1M2b1dBai1yVFBCUzkwOEEwdUtraDl2eEc0bGRuTTdPTy1TMlo1WDRxazZ6a1J1T3UxWjRGc2NZbzdCNFRGYmNPeVM3Z19zZjVZclJPUmZUSjBVdnFKbFhSOW0xUi1ZalNLUjJBMEZTZi1KT1RqVWZ3TlZ1dGV6dzZTUTFYQzl2RldqajBlWmtxSzhrYkhWc2lKTkw2UjJNdXE5NVR1NGZta1J2c05tcUZ5QWozdEYtRDlvMVJYODIwOUJ6TkUzbUJJUjZhZnQ0THhJT1lHMFZWSUhDckRuMGs4a2lCRUlpT29UY3Y2bTdoT3FXODNtdU81SFhkcVUzMDdDVF9nSTVGQ0g5QzR0V19PNTVnY0ktRU9Eb0tYQmlLZmdEVG9qNVBBcjBjZ2lZbE5UZlVrdVVBRUF1QVlvR2pBYV9QYUQ4UnFFc0FjdkxfMTE2SThJeWRWVUJmc0dCdDcta1VhUkQtTTF0bTR5V185MlN2dnN0VU1hWVNKWDFORW96WmFfdkNwUEttZzB3RGFVUE92a19PMkd3Z0lHdFZqTThPd2ZFcmNRUTZGekNBUmZ5T2VMMTJ0aUpkQUI4cjZSZmlxVDBoUDRoOG5NaGdkR0E0bmRKSWRzaWw0V3lWd1Q4SkVFdWNpWFZ2b2VZb2JUeXhSN0F6YjlBdVpneC14M0tOaFlVdTJLMHRFclIzZml3YXJxODBfNmlLRnFkaU5uLUZOSmtxWTJHZ2V5T1FpcVM4MDRwTVladnI4YmtYczlkTGI0UkFyU3JqbkdIUmVqcTlUNWdCNzBEdWh0RXFWNWFpaHVYeFE2UXdWV1doM2M4TUdWRFVlNFBDM3hqcmtqWGFxdVp3SjhfOTFKM3Y3eU5uWnBkT2lQMUFsQi1wTmNLT1ZISHQ3U0pBd2JCaEUwU3RLbUdyRTluaEhkMWFmdW5WVjdjTEl3LUNMOGNrS3huaU44dE56UjM2RDJ6UXpLenhhYlFxenR6aHB5UVBFTzFuZk1fNUhSQjlNY09jamZIQ0hweXZxNnFPLXBYVVJRWlpvd2ZZQ2lMTXNrOHY1QlNicllud2QzLWZQYVo2dHlhMEQzMHZlQmJURFlCTnRzZ0hfQVB1N1ZBR3NtbnBpV1BFc0Qwb1MzSVZ3VEdnenJTaXRfSTU2bndBSUZnN0MtUGdRT3NaVm5SSWlCbXdXQnFUXzBteXNoZHAzYnNuMzV1dFB3Z0NNOFFPa04zVzY4TXlWdmJKU3JhWHdMLXRLR1MzOVNaakhFV2RkV0NVTndmd1lRVXdCVlBDM2lJXy0ydmg5VkxRazM1Z2lEcEdkV2NrbjFXZ25yeHBzWHM4ODVpN3kxZ2xqbWxOei1HMUwxcEpvYmdFUUtiZEN2R0ZlN3RRZEhpaWlnMjNwcHNQdTBSaE0xQjRSNHpDRGJNTy1oODJZTHpQeDBkVDc4OXpzVg=='
|
| 7 |
+
SYSPROMPT_STYLE = 'Z0FBQUFBQm82Q1ZlbHFiSzRCNWZod0c1Q1lkQ0k3czNvMjF3bENVMWlUMGdiWS0zU292UW01WndsTko5NU5YTWRZbTBaekVaTXA2cFFBVkpiWDVBSlBoblp2d3FjQllOZWJNWjhiOEpBZHMxM3dHdjdqYjVkUVB5R0pxU0JtUlk1bTlWSFEwempUUzNVOEZXbGUxVGxHQUxpODZDUlRPQlU5Ty1qa29SSUxYcjZRNzlEVmRFMEtEa0liS19pZEZ6UFdtaV9heDlwUjloOTRjSm1sREhLaTZ6T3pMTXVDV3hvQmdZVXZ6SmpCQkdFS0w5cllnTmtqQkh2RVFJNElKbUI5Q0RrZEhxbHFoTHdpOGljNGYya2JWZFlnRmdiUWxvcWRIV3ZsQkRrU1hEdFVta3hVSXFIY1NDeGExdFRlNjdZdFBrSnplVklZc2ZZbDA5X3BEVUYyY2dyakprX1EtbUJzcDZ1Y0NhbmQ5ZnRJdDc5NVJVaUxPVmxnWXdtN05rRVU1SDQ3aUZsUnBWcnoxa0pzMXAwMXg0WWJEYXlSTXVVQ01FSGJoVjFhSEF4RlRFTE1sN1JXZz0='
|
| 8 |
+
SYSPROMPT_TEXT = 'Z0FBQUFBQm82Q1ZlWVhhZWJ1UHlxa2xTdWY5Z0dyc0dRTXN4VDJUdG9IaWZrcmE3NE9RV1lKZ3MxelRpSW9CLWtpeVcxUlExa0lBREd2RFpVNjczVWpQQktPUHBkc28yMU9ZSWRxa3JPbWwyRGZIS1J5Z2JwamcwZ0U4VDZjNkpydVNNWGFBN21FSUhtSVFNQXdCd1dLMmlZZGhkUFFEWUVwblh5RUdseGVkRDdJdk9lYnpUOUZwTEZDQU5kUTBvS2RueHRseUFyUXV1ak9WdlJsd3lheG1tR25SWnN3NW5YUXN5RG0xd3IxVHhmWTFXYjV3SjJVX2RPMnFSR2J5Y2FHMUNuWUFycXhGbk5rUkZnT04xOGNXdnlCSGRvNVhma1czVVZzMWJpbUVlOWtPOHBjNVowdS1LYmlsV1AteHJLYXBHR21CeDY3Tl9CcXRieEttaHNzeEdIOFFSakVwRG1xSVhvbldTQ1BTWlh2R1hQbks1eG5IUTdDZ2tFTUl2cjdmTjA4ZXlfbU9jRDRrMFZGbFRYUDQ2bklJNzBzaF9neWZ1U3ZHUVRndlppUVZ1aVJKS2RwU293d0lHbGtaalZoNi02LVVBZTF2MXZJVEdRWElDUDJybC1fZUZoZGtJTXM3emVsb2x1dTdUUkdmZEQ0ZWtTRktfMVl1MkVsU1gtak5nd2RqSDYxZFk='
|
| 9 |
+
SYSPROMT_GEN_LYRICS = 'Z0FBQUFBQm82Q1ZlUzFIa2hTb1NIWC02UWl2WHc2b01OUDNJdkZLSVJIT09nYTBTTjlxaWVtRjMxa3ljTENjMlYydTZXRHUzamE2bU00bFVLNWVVQU8tWWJITS1FY2ZzZ3FWbFhWY3U3WWw1VTdhN2VLV0dJaUo4TTk1SkhCaDk0b3JtU0RxQzdnX1Fhclp1MHRXSDdlYV93ZFpSd1A5VmdMTjVBX005MUgwRnVPWDN4UjdQWHR5QTVkOWFEeG1xY2kyMy1BTGVrVWZ0T2N1RWV0MHFkQ1FtM2g0MnMxWGNOY0RDRTAxUjNkSEVyNE5EWkhGQnZJdXIyLVFMMWZqTXlxWjJhZ3h6a3hHYQ=='
|