/* Copyright (c) 2011, The Linux Foundation. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *     * Redistributions of source code must retain the above copyright
 *       notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 *       copyright notice, this list of conditions and the following
 *       disclaimer in the documentation and/or other materials provided
 *       with the distribution.
 *     * Neither the name of The Linux Foundation nor the names of its
 *       contributors may be used to endorse or promote products derived
 *       from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 */
#include <certificate.h>

const char certBuffer[CERTIFICATE_SIZE] = {
	0x30, 0x82, 0x02, 0xd0, 0x30, 0x82, 0x01, 0xb8, 0x02, 0x01, 0x05, 0x30,
	0x0d,
	0x06, 0x09, 0x2a,
	0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x05, 0x05, 0x00, 0x30, 0x2f,
	0x31,
	0x0b, 0x30, 0x09,
	0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b, 0x30,
	0x09,
	0x06, 0x03, 0x55,
	0x04, 0x08, 0x0c, 0x02, 0x43, 0x41, 0x31, 0x13, 0x30, 0x11, 0x06, 0x03,
	0x55,
	0x04, 0x0a, 0x0c,
	0x0a, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x20, 0x4c, 0x4b, 0x30,
	0x1e,
	0x17, 0x0d, 0x31,
	0x31, 0x30, 0x38, 0x30, 0x31, 0x31, 0x34, 0x35, 0x35, 0x33, 0x35, 0x5a,
	0x17,
	0x0d, 0x33, 0x32,
	0x30, 0x32, 0x31, 0x32, 0x31, 0x34, 0x35, 0x35, 0x33, 0x35, 0x5a, 0x30,
	0x2f,
	0x31, 0x0b, 0x30,
	0x09, 0x06, 0x03, 0x55, 0x04, 0x06, 0x13, 0x02, 0x55, 0x53, 0x31, 0x0b,
	0x30,
	0x09, 0x06, 0x03,
	0x55, 0x04, 0x08, 0x0c, 0x02, 0x43, 0x41, 0x31, 0x13, 0x30, 0x11, 0x06,
	0x03,
	0x55, 0x04, 0x0a,
	0x0c, 0x0a, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x20, 0x4c, 0x4b,
	0x30,
	0x82, 0x01, 0x20,
	0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
	0x01,
	0x05, 0x00, 0x03,
	0x82, 0x01, 0x0d, 0x00, 0x30, 0x82, 0x01, 0x08, 0x02, 0x82, 0x01, 0x01,
	0x00,
	0xc8, 0x82, 0x09,
	0x43, 0x84, 0x33, 0x91, 0xfa, 0xca, 0xa1, 0x43, 0xc1, 0x92, 0xa9, 0x26,
	0x0c,
	0xe2, 0x15, 0xab,
	0x71, 0xfa, 0x85, 0x97, 0x5f, 0xf0, 0xcd, 0x66, 0xeb, 0x7f, 0x0b, 0xc1,
	0x01,
	0x8e, 0x8e, 0x1b,
	0xfa, 0xaa, 0x82, 0x21, 0xd3, 0x1d, 0x3b, 0x0a, 0x91, 0x0e, 0xcd, 0x85,
	0xa0,
	0x4d, 0xd7, 0xed,
	0x27, 0x72, 0xa6, 0xb1, 0x26, 0x8e, 0xe9, 0x5f, 0x57, 0x77, 0x3d, 0x93,
	0x79,
	0x38, 0xde, 0xac,
	0xa1, 0xc9, 0xd1, 0xcc, 0x42, 0x04, 0x53, 0x88, 0x64, 0xac, 0xaa, 0xab,
	0xfc,
	0xb7, 0xf0, 0x32,
	0x2d, 0xb0, 0xf4, 0xe1, 0x35, 0x58, 0xdf, 0x5e, 0x8a, 0x47, 0x28, 0x2b,
	0xa9,
	0xda, 0x54, 0xd3,
	0xbc, 0x0a, 0x12, 0x5f, 0x76, 0x5e, 0x16, 0xab, 0xf5, 0x9d, 0x11, 0x8f,
	0x36,
	0x99, 0x3a, 0x1c,
	0x76, 0x95, 0x31, 0xa9, 0x92, 0x86, 0x81, 0xcc, 0x56, 0x56, 0x52, 0xe2,
	0x70,
	0xf4, 0xb3, 0x99,
	0xe7, 0x2e, 0xdd, 0x9d, 0x33, 0xad, 0x22, 0x8a, 0x10, 0x17, 0x53, 0xf2,
	0x6a,
	0x85, 0x80, 0xad,
	0x14, 0xd3, 0xa2, 0xd3, 0xe2, 0x37, 0x8a, 0x4c, 0xdd, 0xa2, 0xdb, 0x46,
	0x32,
	0xa9, 0x23, 0x46,
	0x1a, 0xd5, 0x86, 0xec, 0x39, 0x98, 0x06, 0xd0, 0x4f, 0xe8, 0x6f, 0x02,
	0x90,
	0x05, 0x76, 0x3b,
	0x8b, 0xfc, 0x86, 0x8d, 0xa1, 0x3d, 0x58, 0x80, 0xc7, 0x9e, 0x53, 0xd0,
	0xa2,
	0xb8, 0xbb, 0xc7,
	0x13, 0x35, 0xcd, 0x6f, 0xc2, 0x07, 0xad, 0xa2, 0xe1, 0x82, 0x12, 0xf1,
	0xbc,
	0x4f, 0x19, 0x00,
	0x0f, 0x9d, 0x9f, 0x9d, 0x01, 0x43, 0x24, 0xac, 0xe6, 0x30, 0x11, 0x38,
	0xae,
	0xa6, 0xb7, 0x47,
	0xb3, 0x71, 0x8b, 0x79, 0x46, 0xd4, 0x3b, 0x7d, 0xf0, 0x6c, 0x84, 0xa2,
	0x58,
	0xb4, 0xe3, 0x86,
	0x8f, 0xb8, 0xfc, 0xf9, 0xcb, 0x1c, 0x30, 0x17, 0x1e, 0x34, 0xc3, 0x98,
	0xa3,
	0x02, 0x01, 0x03,
	0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
	0x05,
	0x05, 0x00, 0x03,
	0x82, 0x01, 0x01, 0x00, 0x21, 0xe0, 0x4c, 0x79, 0x9c, 0x54, 0x81, 0x0b,
	0x76,
	0xe6, 0x0d, 0x6d,
	0x14, 0xba, 0x47, 0x2f, 0xb1, 0x3d, 0xdf, 0x00, 0xbe, 0xa6, 0x0b, 0xb2,
	0x6e,
	0x7e, 0x1c, 0x8b,
	0x4d, 0x77, 0xd3, 0xdb, 0x48, 0x1e, 0xa0, 0x6a, 0x3d, 0x01, 0x63, 0x97,
	0xde,
	0xfa, 0xdd, 0xc1,
	0xf9, 0x4d, 0x22, 0xdf, 0xcf, 0xb1, 0x7c, 0x30, 0x32, 0xd5, 0xe9, 0xb3,
	0x72,
	0x9f, 0xfe, 0x1d,
	0x9a, 0x71, 0x6d, 0x24, 0x54, 0x39, 0xaf, 0xf1, 0x6c, 0x24, 0x0f, 0xfd,
	0x08,
	0x88, 0x84, 0x4d,
	0x2e, 0x7b, 0x11, 0xc2, 0x4d, 0xfd, 0x9b, 0x00, 0x3e, 0x02, 0x9f, 0x23,
	0x76,
	0x3d, 0xef, 0x6a,
	0x66, 0x64, 0x34, 0x3e, 0x3b, 0xa6, 0x31, 0x5f, 0x69, 0xeb, 0xf0, 0xcd,
	0x89,
	0xc1, 0xe9, 0x1c,
	0xe0, 0x8d, 0xed, 0x05, 0x68, 0x5b, 0xc1, 0xe7, 0x79, 0xac, 0x83, 0x29,
	0xc9,
	0x60, 0x13, 0xe6,
	0x66, 0x36, 0xb1, 0xf0, 0x04, 0x0d, 0x88, 0x7c, 0x89, 0xb1, 0xf4, 0xc1,
	0xca,
	0x5a, 0x25, 0x13,
	0xc1, 0xaf, 0x8c, 0x45, 0x1b, 0x59, 0xbe, 0x35, 0xe0, 0xbe, 0x9c, 0x4c,
	0xc6,
	0xb0, 0x59, 0x27,
	0xd9, 0xac, 0x6e, 0xf8, 0x35, 0x0c, 0xf7, 0x8a, 0xcc, 0xba, 0x39, 0x48,
	0x6e,
	0x04, 0xd9, 0x6d,
	0x41, 0x4a, 0x81, 0x32, 0x96, 0x29, 0xc6, 0xe2, 0x20, 0xca, 0xed, 0xc0,
	0x44,
	0x6c, 0xd3, 0xe9,
	0xea, 0x52, 0xa8, 0x1d, 0x5b, 0x9f, 0x84, 0xe8, 0x57, 0xd7, 0x21, 0xa9,
	0xa8,
	0x0d, 0x9d, 0x05,
	0xa4, 0xd2, 0xb2, 0x54, 0xec, 0x07, 0x22, 0x3c, 0x64, 0x54, 0xa4, 0xfd,
	0xb0,
	0x8d, 0xe4, 0xf7,
	0x40, 0xe1, 0x41, 0xdc, 0xf7, 0x98, 0x65, 0x3d, 0x9f, 0xd1, 0x28, 0x23,
	0x03,
	0x91, 0x6b, 0xab,
	0x52, 0x04, 0x3b, 0xe1, 0x4e, 0x64, 0xea, 0x3b, 0xea, 0x6f, 0x30, 0xad,
	0x2c,
	0x4a, 0x0e, 0xe2,
	0x79, 0x9c, 0xd3, 0x83
};
