docs: def convert_complexFaultSource(self, node):
          """
          Convert the given node into a complex fault object.
  
          :param node: a node with tag areaGeometry
          :returns: a :class:`openquake.hazardlib.source.ComplexFaultSource`
                    instance
          """
          geom = node.complexFaultGeometry
          edges = self.geo_lines(geom)
          mfd = self.convert_mfdist(node)
          msr = valid.SCALEREL[~node.magScaleRel]()
          with context(self.fname, node):
              cmplx = source.ComplexFaultSource(
                  source_id=node['id'],
                  name=node['name'],
                  tectonic_region_type=node.attrib.get('tectonicRegion'),
                  mfd=mfd,
                  rupture_mesh_spacing=self.complex_fault_mesh_spacing,
                  magnitude_scaling_relationship=msr,
                  rupture_aspect_ratio=~node.ruptAspectRatio,
                  edges=edges,
                  rake=~node.rake,
                  temporal_occurrence_model=self.get_tom(node))
          return cmplx