text: You are the debate moderator.        Please make the debate topic more specific.         Frame the debate topic as a problem to be solved.        Be creative and imaginative.        Please reply with the specified topic in {word_limit} words or less.         Speak directly to the presidential candidates: {*character_names,}.        Do not add anything else."""    ),]specified_topic = ChatOpenAI(temperature=1.0)(topic_specifier_prompt).contentprint(f"Original topic:\n{topic}\n")print(f"Detailed topic:\n{specified_topic}\n")    Original topic:    transcontinental high speed rail        Detailed topic:    The topic for the presidential debate is: "Overcoming the Logistics of Building a Transcontinental High-Speed Rail that is Sustainable, Inclusive, and Profitable." Donald Trump, Kanye West, Elizabeth Warren, how will you address the challenges of building such a massive transportation infrastructure, dealing with stakeholders, and ensuring economic stability while preserving the environment?    Define the speaker selection functionâ€‹Lastly we will define a speaker selection function select_next_speaker that takes each agent's bid and selects the agent with the highest bid (with ties broken randomly).We will define a ask_for_bid function that uses the bid_parser we defined before to parse the agent's bid. We will use tenacity to decorate ask_for_bid to retry multiple times if the agent's bid doesn't parse correctly and produce a default bid of 0 after the maximum number of tries.@tenacity.retry(    stop=tenacity.stop_after_attempt(2),    wait=tenacity.wait_none(),  #