<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def common_criteria(**common):
 """ Wrap a function to always call with the given ``common`` named parameters. :property common: criteria common to your function call :return: decorator function :rtype: :class:`function` .. doctest:: 2 1 1 'AwesomeThing' A good universal way to apply unique criteria is with .. testcode:: import cadquery, cqparts from cqparts.search import register, common_criteria _register = common_criteria(module=__name__)(register) @_register(shape='cube', scale='unit') class Cube(cqparts.Part):
 def make(self):
 return cadquery.Workplane('XY').box(1, 1, 1) """

    def decorator(func):
        def inner(*args, **kwargs):
            merged_kwargs = copy(common)
            merged_kwargs.update(kwargs)
            return func(*args, **merged_kwargs)
        return inner
    return decorator