<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def collect_nsarg_norms(self):
 """Adds canonical and decanonical values to NSArgs in AST This prepares the AST object for (de)canonicalization """

        start_time = datetime.datetime.now()

        self.ast = bel_utils.populate_ast_nsarg_defaults(self.ast, self.ast)
        self.ast.collected_nsarg_norms = True
        if (
            hasattr(self.ast, "bel_object")
            and self.ast.bel_object
            and self.ast.bel_object.type == "BELAst"
        ):
            self.ast.bel_object.collected_nsarg_norms = True

        end_time = datetime.datetime.now()
        delta_ms = f"{(end_time - start_time).total_seconds() * 1000:.1f}"

        log.info("Timing - prepare nsarg normalization", delta_ms=delta_ms)

        return self