<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def post_presign_signature(date, region, secret_key, policy_str):
 """ Calculates signature version '4' for POST policy string. :param date: datetime formatted date. :param region: region of the bucket for the policy. :param secret_key: Amazon S3 secret access key. :param policy_str: policy string. :return: hexlified sha256 signature digest. """

    signing_key = generate_signing_key(date, region, secret_key)
    signature = hmac.new(signing_key, policy_str.encode('utf-8'),
                         hashlib.sha256).hexdigest()

    return signature