<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def EnableEditingOnService(self, url, definition = None):
 """Enables editing capabilities on a feature service. Args: url (str):
 The URL of the feature service. definition (dict):
 A dictionary containing valid definition values. Defaults to ``None``. Returns: dict: The existing feature service definition capabilities. When ``definition`` is not provided (``None``), the following values are used by default: | Key | Value | | hasStaticData | ``False`` | | allowGeometryUpdates | ``True`` | | enableEditorTracking | ``False`` | | enableOwnershipAccessControl | ``False`` | | allowOthersToUpdate | ``True`` | | allowOthersToDelete | ``True`` | | capabilities | ``"Query,Editing,Create,Update,Delete"`` | """

        adminFS = AdminFeatureService(url=url, securityHandler=self._securityHandler)

        if definition is None:
            definition = collections.OrderedDict()
            definition['hasStaticData'] = False
            definition['allowGeometryUpdates'] = True
            definition['editorTrackingInfo'] = {}
            definition['editorTrackingInfo']['enableEditorTracking'] = False
            definition['editorTrackingInfo']['enableOwnershipAccessControl'] = False
            definition['editorTrackingInfo']['allowOthersToUpdate'] = True
            definition['editorTrackingInfo']['allowOthersToDelete'] = True
            definition['capabilities'] = "Query,Editing,Create,Update,Delete"

        existingDef = {}

        existingDef['capabilities']  = adminFS.capabilities
        existingDef['allowGeometryUpdates'] = adminFS.allowGeometryUpdates
        enableResults = adminFS.updateDefinition(json_dict=definition)

        if 'error' in enableResults:
            return enableResults['error']
        adminFS = None
        del adminFS

        print (enableResults)
        return existingDef