code: def _generate_client_m(self, api):
          
          self.emit_raw(base_file_comment)
  
          import_classes = [self.args.module_name]
          import_classes += [
              fmt_routes_class(ns.name, self.args.auth_type)
              for ns in api.namespaces.values()
              if ns.routes and self.namespace_to_has_routes[ns]
          ]
          import_classes.append(
              '{}Protocol'.format(self.args.transport_client_name))
          self._generate_imports_m(import_classes)
  
          with self.block_m(self.args.class_name):
              client_args = fmt_func_args_declaration(
                  [('client',
                    'id<{}>'.format(self.args.transport_client_name))])
              with self.block_func(
                      func='initWithTransportClient',
                      args=client_args,
                      return_type='instancetype'):
                  self.emit('self = [super init];')
  
                  with self.block_init():
                      self.emit('_transportClient = client;')
                      for namespace in api.namespaces.values():
                          if namespace.routes and self.namespace_to_has_routes[namespace]:
                              base_string = '_{}Routes = [[{} alloc] init:client];'
                              self.emit(
                                  base_string.format(
                                      fmt_var(namespace.name),
                                      fmt_routes_class(namespace.name,
                                                       self.args.auth_type)))
docs: Generates client base implementation file. For each namespace, the client will
          have an object field that encapsulates each route in the particular namespace.