code: def create(genome, config):
          
          genome_config = config.genome_config
          required = required_for_output(genome_config.input_keys, genome_config.output_keys, genome.connections)
  
          # Gather inputs and expressed connections.
          node_inputs = {}
          for cg in itervalues(genome.connections):
              if not cg.enabled:
                  continue
  
              i, o = cg.key
              if o not in required and i not in required:
                  continue
  
              if o not in node_inputs:
                  node_inputs[o] = [(i, cg.weight)]
              else:
                  node_inputs[o].append((i, cg.weight))
  
          neurons = {}
          for node_key in required:
              ng = genome.nodes[node_key]
              inputs = node_inputs.get(node_key, [])
              neurons[node_key] = IZNeuron(ng.bias, ng.a, ng.b, ng.c, ng.d, inputs)
  
          genome_config = config.genome_config
          return IZNN(neurons, genome_config.input_keys, genome_config.output_keys)
docs: Receives a genome and returns its phenotype (a neural network).