code: def profile(self, fields=None, sex=None):
          
          if fields is None:
              fields = []
  
          d = {
              "job": self.generator.job(),
              "company": self.generator.company(),
              "ssn": self.generator.ssn(),
              "residence": self.generator.address(),
              "current_location": (self.generator.latitude(), self.generator.longitude()),
              "blood_group": "".join(self.random_element(list(itertools.product(["A", "B", "AB", "O"], ["+", "-"])))),
              "website": [self.generator.url() for _ in range(1, self.random_int(2, 5))],
          }
  
          d = dict(d, **self.generator.simple_profile(sex))
          # field selection
          if len(fields) > 0:
              d = {k: v for k, v in d.items() if k in fields}
  
          return d
docs: Generates a complete profile.
          If "fields" is not empty, only the fields in the list will be returned