<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_checksum_validation_script(stats_list):
 """Make batch files required for checking checksums from another machine."""

    if not os.path.exists('./hash_check'):
        os.mkdir('./hash_check')

    with open('./hash_check/curl.sh', 'w') as curl_f, open(
        './hash_check/md5.txt', 'w'
    ) as md5_f, open('./hash_check/sha1.txt', 'w') as sha1_f:

        curl_f.write('#!/usr/bin/env bash\n\n')

        for stats_dict in stats_list:
            for sysmeta_xml in stats_dict['largest_sysmeta_xml']:
                print(sysmeta_xml)
                sysmeta_pyxb = d1_common.types.dataoneTypes_v1_2.CreateFromDocument(
                    sysmeta_xml
                )

                pid = sysmeta_pyxb.identifier.value().encode('utf-8')
                file_name = re.sub('\W+', '_', pid)
                size = sysmeta_pyxb.size
                base_url = stats_dict['gmn_dict']['base_url']

                if size > 100 * 1024 * 1024:
                    logging.info('Ignored large object. size={} pid={}')

                curl_f.write('# {} {}\n'.format(size, pid))
                curl_f.write(
                    'curl -o obj/{} {}/v1/object/{}\n'.format(
                        file_name, base_url, d1_common.url.encodePathElement(pid)
                    )
                )

                if sysmeta_pyxb.checksum.algorithm == 'MD5':
                    md5_f.write(
                        '{} obj/{}\n'.format(sysmeta_pyxb.checksum.value(), file_name)
                    )
                else:
                    sha1_f.write(
                        '{} obj/{}\n'.format(sysmeta_pyxb.checksum.value(), file_name)
                    )

    with open('./hash_check/check.sh', 'w') as f:
        f.write('#!/usr/bin/env bash\n\n')
        f.write('mkdir -p obj\n')
        f.write('./curl.sh\n')
        f.write('sha1sum -c sha1.txt\n')
        f.write('md5sum -c md5.txt\n')