<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_topic(self, topic_name, topic_config):
 """ Creates the SNS topic, along with any subscriptions requested. """

        topic_subs = []
        t = self.template

        if "Subscription" in topic_config:
            topic_subs = topic_config["Subscription"]

        t.add_resource(
            sns.Topic.from_dict(
                topic_name,
                topic_config
            )
        )

        topic_arn = Ref(topic_name)

        t.add_output(
            Output(topic_name + "Name", Value=GetAtt(topic_name, "TopicName"))
        )
        t.add_output(Output(topic_name + "Arn", Value=topic_arn))

        sqs_subs = [sub for sub in topic_subs if sub["Protocol"] == "sqs"]
        if sqs_subs:
            self.create_sqs_policy(topic_name, topic_arn, sqs_subs)