2014-08-13 10:39:27 +01:00
//
// X509Cert20Test.cs - Unit Tests for new 2.0 features in X509Certificate
//
// Author:
// Sebastien Pouliot <sebastien@ximian.com>
//
// Copyright (C) 2005-2006 Novell Inc. (http://www.novell.com)
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
using NUnit.Framework ;
using System ;
using System.IO ;
using System.Runtime.InteropServices ;
using System.Runtime.Serialization ;
using System.Security ;
using System.Security.Cryptography ;
using System.Security.Cryptography.X509Certificates ;
using System.Text ;
namespace MonoTests.System.Security.Cryptography.X509Certificates {
[TestFixture]
public class X509Cert20Test {
static byte [ ] cert1 = { 0x30 , 0x82 , 0x01 , 0xFF , 0x30 , 0x82 , 0x01 , 0x6C , 0x02 , 0x05 , 0x02 , 0x72 , 0x00 , 0x06 , 0xE8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x01 , 0x02 , 0x05 , 0x00 , 0x30 , 0x5F , 0x31 , 0x0B , 0x30 , 0x09 , 0x06 , 0x03 , 0x55 , 0x04 , 0x06 , 0x13 , 0x02 , 0x55 , 0x53 , 0x31 , 0x20 , 0x30 , 0x1E , 0x06 , 0x03 , 0x55 , 0x04 , 0x0A , 0x13 , 0x17 , 0x52 , 0x53 , 0x41 , 0x20 , 0x44 , 0x61 , 0x74 , 0x61 , 0x20 , 0x53 , 0x65 , 0x63 , 0x75 , 0x72 , 0x69 , 0x74 , 0x79 , 0x2C , 0x20 , 0x49 , 0x6E , 0x63 , 0x2E , 0x31 , 0x2E , 0x30 , 0x2C , 0x06 , 0x03 , 0x55 , 0x04 , 0x0B , 0x13 , 0x25 , 0x53 , 0x65 , 0x63 , 0x75 , 0x72 , 0x65 , 0x20 , 0x53 , 0x65 , 0x72 , 0x76 ,
0x65 , 0x72 , 0x20 , 0x43 , 0x65 , 0x72 , 0x74 , 0x69 , 0x66 , 0x69 , 0x63 , 0x61 , 0x74 , 0x69 , 0x6F , 0x6E , 0x20 , 0x41 , 0x75 , 0x74 , 0x68 , 0x6F , 0x72 , 0x69 , 0x74 , 0x79 , 0x30 , 0x1E , 0x17 , 0x0D , 0x39 , 0x36 , 0x30 , 0x33 , 0x31 , 0x32 , 0x31 , 0x38 , 0x33 , 0x38 , 0x34 , 0x37 , 0x5A , 0x17 , 0x0D , 0x39 , 0x37 , 0x30 , 0x33 , 0x31 , 0x32 , 0x31 , 0x38 , 0x33 , 0x38 , 0x34 , 0x36 , 0x5A , 0x30 , 0x61 , 0x31 , 0x0B , 0x30 , 0x09 , 0x06 , 0x03 , 0x55 , 0x04 , 0x06 , 0x13 , 0x02 , 0x55 , 0x53 , 0x31 , 0x13 , 0x30 , 0x11 , 0x06 , 0x03 , 0x55 , 0x04 , 0x08 , 0x13 , 0x0A , 0x43 , 0x61 , 0x6C , 0x69 , 0x66 , 0x6F , 0x72 , 0x6E , 0x69 , 0x61 , 0x31 , 0x14 , 0x30 , 0x12 , 0x06 , 0x03 ,
0x55 , 0x04 , 0x0A , 0x13 , 0x0B , 0x43 , 0x6F , 0x6D , 0x6D , 0x65 , 0x72 , 0x63 , 0x65 , 0x4E , 0x65 , 0x74 , 0x31 , 0x27 , 0x30 , 0x25 , 0x06 , 0x03 , 0x55 , 0x04 , 0x0B , 0x13 , 0x1E , 0x53 , 0x65 , 0x72 , 0x76 , 0x65 , 0x72 , 0x20 , 0x43 , 0x65 , 0x72 , 0x74 , 0x69 , 0x66 , 0x69 , 0x63 , 0x61 , 0x74 , 0x69 , 0x6F , 0x6E , 0x20 , 0x41 , 0x75 , 0x74 , 0x68 , 0x6F , 0x72 , 0x69 , 0x74 , 0x79 , 0x30 , 0x70 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x01 , 0x01 , 0x05 , 0x00 , 0x03 , 0x5F , 0x00 , 0x30 , 0x5C , 0x02 , 0x55 , 0x2D , 0x58 , 0xE9 , 0xBF , 0xF0 , 0x31 , 0xCD , 0x79 , 0x06 , 0x50 , 0x5A , 0xD5 , 0x9E , 0x0E , 0x2C , 0xE6 , 0xC2 , 0xF7 , 0xF9 ,
0xD2 , 0xCE , 0x55 , 0x64 , 0x85 , 0xB1 , 0x90 , 0x9A , 0x92 , 0xB3 , 0x36 , 0xC1 , 0xBC , 0xEA , 0xC8 , 0x23 , 0xB7 , 0xAB , 0x3A , 0xA7 , 0x64 , 0x63 , 0x77 , 0x5F , 0x84 , 0x22 , 0x8E , 0xE5 , 0xB6 , 0x45 , 0xDD , 0x46 , 0xAE , 0x0A , 0xDD , 0x00 , 0xC2 , 0x1F , 0xBA , 0xD9 , 0xAD , 0xC0 , 0x75 , 0x62 , 0xF8 , 0x95 , 0x82 , 0xA2 , 0x80 , 0xB1 , 0x82 , 0x69 , 0xFA , 0xE1 , 0xAF , 0x7F , 0xBC , 0x7D , 0xE2 , 0x7C , 0x76 , 0xD5 , 0xBC , 0x2A , 0x80 , 0xFB , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x01 , 0x02 , 0x05 , 0x00 , 0x03 , 0x7E , 0x00 , 0x54 , 0x20 , 0x67 , 0x12 , 0xBB , 0x66 , 0x14 , 0xC3 , 0x26 , 0x6B , 0x7F ,
0xDA , 0x4A , 0x25 , 0x4D , 0x8B , 0xE0 , 0xFD , 0x1E , 0x53 , 0x6D , 0xAC , 0xA2 , 0xD0 , 0x89 , 0xB8 , 0x2E , 0x90 , 0xA0 , 0x27 , 0x43 , 0xA4 , 0xEE , 0x4A , 0x26 , 0x86 , 0x40 , 0xFF , 0xB8 , 0x72 , 0x8D , 0x1E , 0xE7 , 0xB7 , 0x77 , 0xDC , 0x7D , 0xD8 , 0x3F , 0x3A , 0x6E , 0x55 , 0x10 , 0xA6 , 0x1D , 0xB5 , 0x58 , 0xF2 , 0xF9 , 0x0F , 0x2E , 0xB4 , 0x10 , 0x55 , 0x48 , 0xDC , 0x13 , 0x5F , 0x0D , 0x08 , 0x26 , 0x88 , 0xC9 , 0xAF , 0x66 , 0xF2 , 0x2C , 0x9C , 0x6F , 0x3D , 0xC3 , 0x2B , 0x69 , 0x28 , 0x89 , 0x40 , 0x6F , 0x8F , 0x35 , 0x3B , 0x9E , 0xF6 , 0x8E , 0xF1 , 0x11 , 0x17 , 0xFB , 0x0C , 0x98 , 0x95 , 0xA1 , 0xC2 , 0xBA , 0x89 , 0x48 , 0xEB , 0xB4 , 0x06 , 0x6A , 0x22 , 0x54 ,
0xD7 , 0xBA , 0x18 , 0x3A , 0x48 , 0xA6 , 0xCB , 0xC2 , 0xFD , 0x20 , 0x57 , 0xBC , 0x63 , 0x1C } ;
static public byte [ ] farscape_pfx = { 0x30 , 0x82 , 0x06 , 0xA3 , 0x02 , 0x01 , 0x03 , 0x30 , 0x82 , 0x06 , 0x63 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x06 , 0x54 , 0x04 , 0x82 , 0x06 , 0x50 , 0x30 , 0x82 , 0x06 , 0x4C , 0x30 , 0x82 , 0x03 , 0x8D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x03 , 0x7E , 0x04 , 0x82 , 0x03 , 0x7A , 0x30 , 0x82 , 0x03 , 0x76 , 0x30 , 0x82 , 0x03 , 0x72 , 0x06 , 0x0B , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x0A , 0x01 , 0x02 , 0xA0 , 0x82 , 0x02 , 0xB6 , 0x30 , 0x82 , 0x02 , 0xB2 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 , 0x03 , 0x30 ,
0x0E , 0x04 , 0x08 , 0x67 , 0xFE , 0x3A , 0x52 , 0x75 , 0xF3 , 0x82 , 0x1F , 0x02 , 0x02 , 0x07 , 0xD0 , 0x04 , 0x82 , 0x02 , 0x90 , 0x31 , 0x6B , 0x00 , 0xFA , 0x73 , 0xE6 , 0x8D , 0x3D , 0x62 , 0x93 , 0x41 , 0xA1 , 0x44 , 0x04 , 0x17 , 0x8D , 0x66 , 0x7A , 0x75 , 0x14 , 0x89 , 0xA8 , 0xD1 , 0x4D , 0x2A , 0xD7 , 0x20 , 0x27 , 0x71 , 0x58 , 0x81 , 0x16 , 0xB5 , 0xA6 , 0x41 , 0x75 , 0x92 , 0xB2 , 0xF4 , 0x0C , 0xAA , 0x9B , 0x00 , 0x46 , 0x85 , 0x85 , 0x3B , 0x09 , 0x2A , 0x62 , 0x33 , 0x3F , 0x3D , 0x06 , 0xC7 , 0xE7 , 0x16 , 0x0C , 0xA7 , 0x1D , 0x9C , 0xDA , 0x9D , 0xD3 , 0xC9 , 0x05 , 0x60 , 0xA5 , 0xBE , 0xF0 , 0x07 , 0xD5 , 0xA9 , 0x4F , 0x8A , 0x80 , 0xF8 , 0x55 , 0x7B , 0x7B , 0x3C ,
0xA0 , 0x7C , 0x29 , 0x29 , 0xAB , 0xB1 , 0xE1 , 0x5A , 0x25 , 0xE3 , 0x23 , 0x6A , 0x56 , 0x98 , 0x37 , 0x68 , 0xAF , 0x9C , 0x87 , 0xBB , 0x21 , 0x6E , 0x68 , 0xBE , 0xAE , 0x65 , 0x0C , 0x41 , 0x8F , 0x5C , 0x3A , 0xB8 , 0xB1 , 0x9D , 0x42 , 0x37 , 0xE4 , 0xA0 , 0x37 , 0xA6 , 0xB8 , 0xAC , 0x85 , 0xD7 , 0x85 , 0x27 , 0x68 , 0xD0 , 0xB6 , 0x3D , 0xC7 , 0x39 , 0x92 , 0x41 , 0x46 , 0x24 , 0xDD , 0x08 , 0x57 , 0x22 , 0x6A , 0xC0 , 0xB7 , 0xAD , 0x52 , 0xC6 , 0x7F , 0xE5 , 0x74 , 0x6A , 0x5E , 0x28 , 0xA3 , 0x85 , 0xBD , 0xE8 , 0xAD , 0x5D , 0xA3 , 0x55 , 0xE6 , 0x63 , 0x15 , 0x56 , 0x7B , 0x01 , 0x26 , 0x68 , 0x5F , 0x11 , 0xA3 , 0x12 , 0x37 , 0x02 , 0xA5 , 0xD0 , 0xB7 , 0x73 , 0x0C , 0x7C ,
0x97 , 0xE1 , 0xC6 , 0x2F , 0x98 , 0x82 , 0x67 , 0x2F , 0x5F , 0x3F , 0xBE , 0x32 , 0x16 , 0x25 , 0x9D , 0x51 , 0x48 , 0x32 , 0xCB , 0x42 , 0xD1 , 0x31 , 0x07 , 0xBE , 0x5D , 0xF8 , 0xCD , 0x2C , 0x38 , 0x0A , 0x33 , 0x3B , 0x7B , 0x04 , 0x84 , 0xAE , 0x9C , 0xA7 , 0x6B , 0x36 , 0x39 , 0x12 , 0x87 , 0x9D , 0x5B , 0x56 , 0x00 , 0x44 , 0x11 , 0xB1 , 0xE2 , 0x78 , 0x14 , 0x60 , 0xF3 , 0xE4 , 0x1A , 0x08 , 0x14 , 0xC0 , 0x9E , 0x49 , 0x9F , 0xE0 , 0x4C , 0xEC , 0x95 , 0x15 , 0x18 , 0x48 , 0x0E , 0xB9 , 0x0B , 0x3A , 0xFE , 0x45 , 0xB0 , 0x2D , 0x0D , 0x4F , 0x94 , 0x5A , 0x3C , 0x43 , 0xB7 , 0x40 , 0x8E , 0x7B , 0xA2 , 0x8E , 0x23 , 0x9F , 0x75 , 0x97 , 0xE7 , 0x21 , 0x0D , 0xEB , 0xA3 , 0x9D ,
0x6C , 0xC0 , 0xDC , 0x73 , 0xED , 0x15 , 0x98 , 0xE3 , 0xE8 , 0x32 , 0x2C , 0x12 , 0x92 , 0x45 , 0x25 , 0x45 , 0x76 , 0x18 , 0xF5 , 0x97 , 0x7F , 0xAC , 0xCE , 0xCF , 0x23 , 0xF7 , 0xD1 , 0xCF , 0x06 , 0xAB , 0x82 , 0x96 , 0x1F , 0xF8 , 0x68 , 0x4F , 0x5D , 0xE1 , 0x09 , 0xAA , 0xCB , 0xB3 , 0x50 , 0x85 , 0x46 , 0x72 , 0x14 , 0x6C , 0x49 , 0x84 , 0x57 , 0x55 , 0x00 , 0x78 , 0x3E , 0xD9 , 0xAA , 0xBD , 0xCC , 0xE2 , 0x7B , 0x18 , 0xAA , 0x2E , 0x5D , 0xB9 , 0x28 , 0xEA , 0x8F , 0x8C , 0xFA , 0xB7 , 0x06 , 0x27 , 0x07 , 0x89 , 0x41 , 0x3F , 0x66 , 0x1A , 0x91 , 0xCA , 0xE9 , 0xEC , 0x09 , 0x12 , 0x1C , 0x67 , 0xB2 , 0x2A , 0x8B , 0x4A , 0xF0 , 0x97 , 0x17 , 0xDC , 0x3E , 0xCD , 0x9F , 0x03 ,
0x15 , 0xEF , 0x03 , 0x84 , 0x08 , 0x4A , 0x73 , 0xAE , 0xE4 , 0x07 , 0x30 , 0x27 , 0xF7 , 0x25 , 0x69 , 0x9D , 0x6C , 0x7D , 0x81 , 0x88 , 0xCC , 0xFA , 0xD4 , 0xC7 , 0x64 , 0x11 , 0xC0 , 0xC8 , 0x2C , 0x23 , 0xF6 , 0xFF , 0x9B , 0xE3 , 0xC8 , 0x89 , 0x85 , 0x0B , 0x3E , 0x81 , 0xD8 , 0x9C , 0xBD , 0xD0 , 0x2D , 0xCD , 0x15 , 0xA9 , 0x30 , 0x84 , 0xF7 , 0x6D , 0xEF , 0x62 , 0x3B , 0xA7 , 0x8C , 0xC2 , 0x93 , 0x90 , 0x6F , 0x91 , 0xB4 , 0x8A , 0x71 , 0x4E , 0x41 , 0x4E , 0x5C , 0x67 , 0xB5 , 0x49 , 0xF8 , 0x56 , 0x3A , 0x83 , 0x03 , 0x4F , 0xB1 , 0xF6 , 0xB7 , 0x31 , 0x5B , 0x68 , 0x26 , 0x70 , 0x89 , 0xB1 , 0x1E , 0x67 , 0x4F , 0xBA , 0xE7 , 0xD9 , 0xDF , 0x91 , 0xD8 , 0xFB , 0x8A , 0xDD ,
0xB2 , 0xD3 , 0x4B , 0xBB , 0x9F , 0x5C , 0xA3 , 0x04 , 0x2C , 0x87 , 0xBC , 0xD5 , 0xBE , 0x8C , 0xD7 , 0xCF , 0x9B , 0x72 , 0x82 , 0xA6 , 0x99 , 0xDA , 0xD7 , 0x66 , 0x48 , 0xE7 , 0x8F , 0xE9 , 0x48 , 0x56 , 0x9D , 0xD2 , 0xB9 , 0x28 , 0x84 , 0x4F , 0x6A , 0x83 , 0xB2 , 0xB9 , 0x4D , 0x91 , 0x10 , 0x58 , 0x22 , 0x4C , 0xE7 , 0x9D , 0xC6 , 0x0C , 0x74 , 0xF4 , 0x16 , 0x58 , 0x30 , 0xB7 , 0xB7 , 0x96 , 0x39 , 0x6C , 0x5D , 0xFA , 0xB2 , 0x03 , 0x8C , 0x98 , 0xD2 , 0xC0 , 0x64 , 0xB8 , 0x05 , 0x29 , 0x4F , 0xF0 , 0x4C , 0x43 , 0x48 , 0xD3 , 0xD8 , 0xBD , 0xC7 , 0xC1 , 0xEA , 0x39 , 0x2A , 0xDF , 0xD4 , 0xDA , 0x79 , 0x7C , 0xB9 , 0x06 , 0xC7 , 0x10 , 0x8D , 0x8B , 0xF1 , 0xA8 , 0x8E , 0x44 ,
0x9E , 0x99 , 0xFF , 0x81 , 0x84 , 0x8F , 0xD0 , 0x38 , 0xE1 , 0xF0 , 0x5A , 0x12 , 0x5F , 0xC5 , 0xA6 , 0xED , 0x6D , 0xEE , 0xE7 , 0x69 , 0xC0 , 0xA2 , 0xB4 , 0x13 , 0xCA , 0x7A , 0x5D , 0xDE , 0x88 , 0x75 , 0xE7 , 0xE2 , 0x6D , 0x8A , 0xEC , 0x0F , 0x88 , 0x3F , 0xE2 , 0xCB , 0x60 , 0xF0 , 0x6A , 0xEC , 0xD0 , 0xF4 , 0x0D , 0x11 , 0xC2 , 0x84 , 0x19 , 0x67 , 0x52 , 0xAD , 0xC0 , 0xC0 , 0x20 , 0x84 , 0x6D , 0x7D , 0xEA , 0xD2 , 0xF9 , 0x3F , 0xE5 , 0x58 , 0x00 , 0xED , 0x24 , 0xD6 , 0x50 , 0x9B , 0x80 , 0x80 , 0x0A , 0x31 , 0x81 , 0xA8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x02 , 0x31 , 0x00 , 0x30 , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 ,
0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x15 , 0x31 , 0x06 , 0x04 , 0x04 , 0x01 , 0x00 , 0x00 , 0x00 , 0x30 , 0x17 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x14 , 0x31 , 0x0A , 0x1E , 0x08 , 0x00 , 0x4D , 0x00 , 0x6F , 0x00 , 0x6E , 0x00 , 0x6F , 0x30 , 0x69 , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x01 , 0x31 , 0x5C , 0x1E , 0x5A , 0x00 , 0x4D , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x73 , 0x00 , 0x6F , 0x00 , 0x66 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x41 , 0x00 , 0x20 , 0x00 , 0x53 , 0x00 , 0x43 , 0x00 , 0x68 , 0x00 , 0x61 , 0x00 , 0x6E , 0x00 , 0x6E , 0x00 , 0x65 , 0x00 , 0x6C ,
0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x72 , 0x00 , 0x79 , 0x00 , 0x70 , 0x00 , 0x74 , 0x00 , 0x6F , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x20 , 0x00 , 0x50 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x76 , 0x00 , 0x69 , 0x00 , 0x64 , 0x00 , 0x65 , 0x00 , 0x72 , 0x30 , 0x82 , 0x02 , 0xB7 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x06 , 0xA0 , 0x82 , 0x02 , 0xA8 , 0x30 , 0x82 , 0x02 , 0xA4 , 0x02 , 0x01 , 0x00 , 0x30 , 0x82 , 0x02 , 0x9D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 ,
0x06 , 0x30 , 0x0E , 0x04 , 0x08 , 0xB8 , 0x22 , 0xEA , 0x3C , 0x70 , 0x6A , 0xFC , 0x39 , 0x02 , 0x02 , 0x07 , 0xD0 , 0x80 , 0x82 , 0x02 , 0x70 , 0x76 , 0xBE , 0x5B , 0xD5 , 0x3D , 0x05 , 0xC1 , 0xDB , 0x10 , 0xA3 , 0x02 , 0xBB , 0x7F , 0x0A , 0x8B , 0x54 , 0xC1 , 0x7D , 0x19 , 0xDA , 0x7E , 0x82 , 0xDF , 0xAD , 0x6B , 0x42 , 0xC2 , 0x95 , 0x95 , 0x00 , 0x6E , 0x82 , 0x77 , 0xD5 , 0x42 , 0x6E , 0x21 , 0xA2 , 0x95 , 0xB4 , 0x98 , 0xF5 , 0xDD , 0x18 , 0x6F , 0xC4 , 0xF3 , 0xB6 , 0x93 , 0xA0 , 0x6C , 0xF4 , 0x34 , 0x7A , 0x48 , 0x72 , 0x08 , 0xB1 , 0x28 , 0x51 , 0x54 , 0x10 , 0x7F , 0x35 , 0xB2 , 0xE5 , 0x89 , 0x5C , 0x0A , 0x14 , 0x31 , 0x1C , 0x9D , 0xA9 , 0xE4 , 0x94 , 0x91 , 0x28 , 0x65 ,
0xC4 , 0xE7 , 0x5E , 0xA9 , 0x37 , 0x08 , 0x3D , 0xB1 , 0x16 , 0x61 , 0x9D , 0xA9 , 0x44 , 0x6F , 0x20 , 0x0C , 0x55 , 0xD7 , 0xCC , 0x48 , 0x82 , 0x13 , 0x5D , 0xE1 , 0xBD , 0x9D , 0xCE , 0x64 , 0x28 , 0x6D , 0x69 , 0x4E , 0x08 , 0x53 , 0x09 , 0xE0 , 0xCC , 0xA8 , 0x79 , 0x04 , 0xCF , 0xFA , 0x35 , 0x1C , 0xA6 , 0x70 , 0x37 , 0x64 , 0x70 , 0x74 , 0xF8 , 0xD0 , 0xC4 , 0x34 , 0x0F , 0x71 , 0xEF , 0x57 , 0xC2 , 0x43 , 0x7D , 0xFA , 0xE5 , 0x1B , 0x8C , 0x15 , 0xA5 , 0x08 , 0x60 , 0x78 , 0xAF , 0xDA , 0x36 , 0xDF , 0x79 , 0x2D , 0xD7 , 0x54 , 0x35 , 0xD7 , 0x8D , 0x99 , 0xD5 , 0x81 , 0xEC , 0x6D , 0x9F , 0x2D , 0x5E , 0xF8 , 0x48 , 0x85 , 0x50 , 0x20 , 0x7D , 0xBB , 0x16 , 0x4E , 0x39 , 0x64 ,
0xB7 , 0xBC , 0xED , 0xA9 , 0x6A , 0x7A , 0x06 , 0x09 , 0x6B , 0xBC , 0x2C , 0x5A , 0xE1 , 0x4F , 0xD4 , 0xA9 , 0x82 , 0x83 , 0x5B , 0xBD , 0xCE , 0x14 , 0x31 , 0x89 , 0x66 , 0xB3 , 0x9C , 0x31 , 0x23 , 0x00 , 0x4B , 0x02 , 0x34 , 0x85 , 0x30 , 0x39 , 0x77 , 0x80 , 0x5D , 0x72 , 0x0A , 0xCE , 0x43 , 0x2A , 0x1F , 0x02 , 0x09 , 0xAB , 0x2D , 0x46 , 0x3A , 0x1C , 0xD2 , 0x7B , 0xF6 , 0x02 , 0x92 , 0xCA , 0xDA , 0x26 , 0x0C , 0xF8 , 0xE2 , 0x67 , 0x7E , 0xE2 , 0x55 , 0xB1 , 0x3F , 0x6A , 0x06 , 0x65 , 0x6D , 0x74 , 0x98 , 0x59 , 0xE2 , 0x8A , 0x1E , 0x61 , 0x03 , 0x4D , 0xFC , 0x68 , 0x31 , 0x6A , 0xE7 , 0xCF , 0x52 , 0x88 , 0x8E , 0x06 , 0x97 , 0x77 , 0xB3 , 0x20 , 0x7E , 0x09 , 0x5D , 0x3B ,
0xAF , 0x56 , 0xF4 , 0xE8 , 0x4C , 0x69 , 0x09 , 0xB9 , 0x80 , 0x38 , 0xDC , 0x66 , 0x2E , 0x06 , 0xF6 , 0xCB , 0x1F , 0x1B , 0xAD , 0x51 , 0xFF , 0xFD , 0x38 , 0x8D , 0x03 , 0x90 , 0xCF , 0x31 , 0x01 , 0x30 , 0xEA , 0x48 , 0x4C , 0xBB , 0x40 , 0x87 , 0x1D , 0x97 , 0x6A , 0x56 , 0x4C , 0xED , 0x07 , 0x23 , 0x45 , 0x50 , 0x2F , 0x56 , 0xC9 , 0x90 , 0x79 , 0x09 , 0xC5 , 0x45 , 0xB9 , 0xAD , 0x58 , 0x2B , 0x4C , 0xA3 , 0x01 , 0xE0 , 0x2D , 0xE5 , 0x30 , 0xBC , 0x54 , 0xEC , 0x65 , 0xB4 , 0x79 , 0x22 , 0x7D , 0x15 , 0xF6 , 0x28 , 0xCD , 0x84 , 0x7E , 0x27 , 0x95 , 0xA1 , 0xC7 , 0x82 , 0x6D , 0xFB , 0xDF , 0x03 , 0xD9 , 0x14 , 0xFE , 0x0A , 0x06 , 0x6F , 0x14 , 0xFF , 0x8A , 0x27 , 0x80 , 0x36 ,
0xDC , 0xBA , 0xAE , 0xDD , 0x44 , 0x15 , 0xA5 , 0x6E , 0x64 , 0x73 , 0xBD , 0xFB , 0xAE , 0x6D , 0x6F , 0x42 , 0x96 , 0xDF , 0x90 , 0xE5 , 0x6A , 0x9B , 0x05 , 0xAE , 0xD5 , 0x0A , 0x22 , 0x88 , 0xD6 , 0x5D , 0x4C , 0x7B , 0xB1 , 0x3A , 0xFC , 0x0C , 0x32 , 0x02 , 0xB1 , 0x18 , 0x0D , 0xAF , 0xE0 , 0xFE , 0x7E , 0x07 , 0x96 , 0x85 , 0xBB , 0xC8 , 0x21 , 0x68 , 0x12 , 0xD4 , 0xC8 , 0xBF , 0x91 , 0x47 , 0xE2 , 0xF3 , 0xA5 , 0xA3 , 0x86 , 0xE6 , 0x30 , 0x42 , 0xF5 , 0xA9 , 0xB9 , 0x48 , 0xCB , 0x18 , 0xE6 , 0x64 , 0x3B , 0xE0 , 0x8E , 0xC3 , 0x03 , 0x45 , 0xA0 , 0xED , 0x1A , 0x09 , 0xFF , 0xB3 , 0x99 , 0x14 , 0x5F , 0xDA , 0x90 , 0x58 , 0x61 , 0x8E , 0xF7 , 0x0A , 0x00 , 0xC7 , 0x44 , 0xE7 ,
0x73 , 0x78 , 0xC4 , 0x8B , 0x39 , 0xCE , 0x70 , 0x0E , 0x24 , 0x03 , 0x95 , 0x94 , 0x73 , 0x76 , 0x10 , 0x7E , 0x4C , 0xFF , 0xCA , 0x49 , 0x93 , 0x89 , 0xD4 , 0x3E , 0x1A , 0x88 , 0xCC , 0x48 , 0xA7 , 0x78 , 0x2F , 0x83 , 0x4F , 0x6C , 0x33 , 0x55 , 0xDD , 0x7F , 0x7D , 0x4D , 0xE5 , 0xCD , 0x9C , 0x3D , 0x04 , 0x1E , 0xC1 , 0x9B , 0x6D , 0x7E , 0x7A , 0xAC , 0x93 , 0x5E , 0x2B , 0xC3 , 0x85 , 0x36 , 0x07 , 0x66 , 0xE8 , 0xC9 , 0xC0 , 0xD1 , 0x54 , 0xF4 , 0x4C , 0x6A , 0x02 , 0x24 , 0x9A , 0x7D , 0x10 , 0xD9 , 0x79 , 0x94 , 0x00 , 0x64 , 0x63 , 0x36 , 0xDC , 0x35 , 0x0C , 0x8F , 0x79 , 0xBA , 0xC7 , 0x10 , 0x76 , 0xF8 , 0x4A , 0xD3 , 0x69 , 0x95 , 0x23 , 0x89 , 0x66 , 0xC4 , 0x5A , 0xE7 ,
0xCE , 0x21 , 0xBC , 0xCB , 0xF2 , 0x4F , 0x92 , 0x33 , 0xE7 , 0x89 , 0xD6 , 0x23 , 0xF7 , 0x67 , 0x5B , 0x20 , 0xD9 , 0xDA , 0x1A , 0xD1 , 0xF6 , 0x9E , 0x01 , 0x83 , 0x51 , 0xAF , 0x35 , 0x43 , 0xDD , 0x3A , 0xAB , 0xCA , 0x0E , 0xED , 0x2E , 0x4D , 0x1E , 0x91 , 0xCF , 0x2E , 0xA9 , 0x4D , 0x08 , 0xD9 , 0x48 , 0x30 , 0x37 , 0x30 , 0x1F , 0x30 , 0x07 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1A , 0x04 , 0x14 , 0xA2 , 0xED , 0x05 , 0x50 , 0x89 , 0x91 , 0x1D , 0xEB , 0xF6 , 0x57 , 0x66 , 0xAF , 0x70 , 0x15 , 0xDD , 0x1A , 0xA1 , 0x94 , 0xB7 , 0xB2 , 0x04 , 0x14 , 0x09 , 0xE4 , 0x0B , 0xEC , 0x1D , 0x93 , 0x3E , 0x32 , 0x94 , 0x6A , 0x95 , 0x36 , 0xDD , 0xBA , 0x93 , 0x9D , 0x75 , 0xB6 ,
0x3E , 0xF5 } ;
static public byte [ ] farscape_nopwd_pfx = { 0x30 , 0x82 , 0x06 , 0xA3 , 0x02 , 0x01 , 0x03 , 0x30 , 0x82 , 0x06 , 0x63 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x06 , 0x54 , 0x04 , 0x82 , 0x06 , 0x50 , 0x30 , 0x82 , 0x06 , 0x4C , 0x30 , 0x82 , 0x03 , 0x8D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x03 , 0x7E , 0x04 , 0x82 , 0x03 , 0x7A , 0x30 , 0x82 , 0x03 , 0x76 , 0x30 , 0x82 , 0x03 , 0x72 , 0x06 , 0x0B , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x0A , 0x01 , 0x02 , 0xA0 , 0x82 , 0x02 , 0xB6 , 0x30 , 0x82 , 0x02 , 0xB2 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 , 0x03 , 0x30 ,
0x0E , 0x04 , 0x08 , 0x31 , 0xB9 , 0x22 , 0x7A , 0x73 , 0xB6 , 0x67 , 0x3E , 0x02 , 0x02 , 0x07 , 0xD0 , 0x04 , 0x82 , 0x02 , 0x90 , 0x05 , 0x3F , 0x9B , 0x6F , 0x4D , 0xE2 , 0x97 , 0xC0 , 0x71 , 0x61 , 0xDC , 0x39 , 0x33 , 0x9B , 0x45 , 0x36 , 0xD1 , 0xC2 , 0xC1 , 0x2E , 0xE3 , 0x22 , 0x88 , 0xE2 , 0x54 , 0x18 , 0xE8 , 0xC9 , 0x0E , 0xA7 , 0xBB , 0x1B , 0xC6 , 0xC8 , 0x32 , 0xD9 , 0x47 , 0x64 , 0x40 , 0xC2 , 0x40 , 0xDC , 0x34 , 0xB5 , 0x34 , 0x5D , 0x8A , 0x56 , 0xD9 , 0xF6 , 0x0A , 0x03 , 0x93 , 0x5D , 0xE5 , 0x04 , 0xDC , 0x5B , 0xBA , 0x49 , 0x22 , 0x0A , 0x51 , 0x33 , 0xFF , 0xF0 , 0xAF , 0x5D , 0x1F , 0x97 , 0x6A , 0x11 , 0x1C , 0x6B , 0x1A , 0xCF , 0x2E , 0x41 , 0xA1 , 0xD0 , 0x31 ,
0xC2 , 0x2D , 0xDD , 0x83 , 0xAA , 0x21 , 0x0C , 0x0E , 0x78 , 0xEE , 0x9C , 0x25 , 0x74 , 0xC5 , 0x4F , 0xE4 , 0x94 , 0x84 , 0xA8 , 0xD9 , 0x2F , 0x96 , 0xF5 , 0x06 , 0x05 , 0xAE , 0x99 , 0xBF , 0x8B , 0xD6 , 0x67 , 0x5E , 0xCB , 0x61 , 0x03 , 0xCC , 0x5A , 0x5F , 0xAB , 0x82 , 0x55 , 0xB1 , 0x8D , 0xCD , 0xFE , 0x1C , 0x25 , 0x48 , 0xA7 , 0x1D , 0xFF , 0x2E , 0xC0 , 0x23 , 0x80 , 0xF7 , 0xE4 , 0x22 , 0x68 , 0x07 , 0xFF , 0x58 , 0xA5 , 0xAA , 0x71 , 0x7A , 0xAB , 0x48 , 0x2D , 0xE6 , 0xDF , 0xB5 , 0x3C , 0x90 , 0x15 , 0xE3 , 0x55 , 0x4A , 0xB4 , 0x37 , 0xFE , 0x7F , 0xE1 , 0x5B , 0x0C , 0xF1 , 0x01 , 0x4C , 0x60 , 0x2F , 0x6F , 0x59 , 0x09 , 0x2B , 0x96 , 0xDC , 0xE2 , 0x2C , 0xF0 , 0xB9 ,
0xF3 , 0x3E , 0x46 , 0x5B , 0x68 , 0xA9 , 0xBB , 0x42 , 0x8B , 0xAB , 0xA9 , 0x68 , 0x56 , 0xF9 , 0xB2 , 0x2E , 0x93 , 0xDD , 0xE9 , 0xBB , 0x70 , 0x9E , 0x2E , 0x48 , 0xB9 , 0xDB , 0x1C , 0x95 , 0x0F , 0x67 , 0xD4 , 0x13 , 0x02 , 0x62 , 0xE0 , 0xFA , 0x18 , 0x48 , 0xAE , 0x31 , 0xB6 , 0x1F , 0x68 , 0x7D , 0xB2 , 0x16 , 0x61 , 0xCD , 0x04 , 0x91 , 0x50 , 0xBF , 0x35 , 0xBF , 0x76 , 0xA3 , 0x5B , 0x76 , 0xFE , 0x3F , 0xAB , 0xB2 , 0x59 , 0x8B , 0xD0 , 0xB7 , 0xC6 , 0x36 , 0x0E , 0x2C , 0x31 , 0x48 , 0xFB , 0x69 , 0x6F , 0x90 , 0x37 , 0x3F , 0xE1 , 0x53 , 0x36 , 0x5A , 0x60 , 0x53 , 0x93 , 0x46 , 0xC4 , 0x31 , 0x92 , 0x3B , 0x11 , 0x9F , 0x67 , 0xC3 , 0xD0 , 0x2E , 0x9F , 0x7D , 0xA8 , 0xBE ,
0xA3 , 0xB2 , 0xCF , 0x60 , 0xA3 , 0xCE , 0x9F , 0x4B , 0x72 , 0xCD , 0x44 , 0x26 , 0x4C , 0x66 , 0xF8 , 0x75 , 0x80 , 0xFC , 0x23 , 0xBC , 0xA1 , 0x3A , 0xCA , 0xC9 , 0xE7 , 0x50 , 0xA3 , 0x79 , 0x21 , 0x2B , 0x2D , 0x09 , 0x8C , 0x45 , 0x89 , 0xB6 , 0xAF , 0x66 , 0x3E , 0xF7 , 0xFD , 0xA5 , 0x69 , 0x96 , 0xB4 , 0x65 , 0xB5 , 0xFE , 0x35 , 0x1F , 0x80 , 0xA7 , 0x41 , 0x90 , 0xBA , 0x92 , 0x8D , 0x3B , 0xC0 , 0x37 , 0xDE , 0x95 , 0xA8 , 0x0D , 0xF1 , 0x1A , 0x9F , 0xD2 , 0x70 , 0xED , 0x38 , 0x1E , 0xA2 , 0xF1 , 0x2B , 0x63 , 0x62 , 0xC5 , 0xAE , 0x5D , 0x0F , 0xFC , 0x80 , 0xFA , 0x0E , 0xE4 , 0xE7 , 0x6C , 0x62 , 0x3B , 0x19 , 0xBB , 0xA8 , 0xE5 , 0x1D , 0x3E , 0x06 , 0x30 , 0x0B , 0xE1 ,
0xCF , 0xB6 , 0xB4 , 0x87 , 0x96 , 0xA2 , 0x5E , 0xF8 , 0x0F , 0x13 , 0xAE , 0x04 , 0xAF , 0xB2 , 0x6C , 0x9E , 0xA0 , 0x28 , 0x1C , 0x46 , 0xE5 , 0xA8 , 0x25 , 0x62 , 0x51 , 0x95 , 0xB0 , 0x70 , 0x60 , 0xB6 , 0xD9 , 0xBB , 0xE3 , 0xD1 , 0xF0 , 0x1D , 0x25 , 0xBD , 0x93 , 0x5E , 0xB6 , 0x47 , 0x50 , 0xCD , 0x77 , 0x7A , 0xFF , 0xC5 , 0xFF , 0x4A , 0x7A , 0x9A , 0x27 , 0x22 , 0xEB , 0x7C , 0x12 , 0xE5 , 0x59 , 0x1F , 0x60 , 0xEA , 0xC3 , 0x93 , 0x4D , 0x28 , 0x49 , 0x2D , 0xF9 , 0xC0 , 0x13 , 0x12 , 0x89 , 0x96 , 0xED , 0x78 , 0xB0 , 0x1C , 0x82 , 0xDE , 0xEE , 0x40 , 0xDE , 0x68 , 0x2B , 0x45 , 0x16 , 0xBE , 0xBF , 0xD5 , 0x85 , 0x6A , 0xDB , 0xD9 , 0x1E , 0xEE , 0xFA , 0x6C , 0x95 , 0x19 ,
0xF3 , 0x76 , 0x61 , 0x72 , 0x21 , 0x69 , 0x77 , 0x18 , 0x2C , 0xFA , 0x99 , 0x7A , 0xD7 , 0x58 , 0xC4 , 0xD6 , 0x1D , 0x8B , 0xE8 , 0x0B , 0xEC , 0x0F , 0x0F , 0xFA , 0xCE , 0xE2 , 0x6F , 0xB1 , 0xF5 , 0x4F , 0xC3 , 0xF7 , 0x4A , 0xE4 , 0x79 , 0xB0 , 0xFC , 0x62 , 0x88 , 0xC0 , 0x49 , 0xEC , 0xDB , 0xC8 , 0xCD , 0xBE , 0x25 , 0x00 , 0x68 , 0xB6 , 0x5E , 0x89 , 0x78 , 0xE6 , 0x92 , 0xA5 , 0x5D , 0x55 , 0xA7 , 0xAD , 0xFF , 0x3D , 0xC7 , 0xF9 , 0x95 , 0x8D , 0xCF , 0x6E , 0x37 , 0x1D , 0x79 , 0x74 , 0xE1 , 0xDE , 0x22 , 0x07 , 0x6B , 0xE6 , 0xB7 , 0x7D , 0xD1 , 0x0F , 0xB6 , 0xA4 , 0x3F , 0x0F , 0x31 , 0x81 , 0x09 , 0xAD , 0xFD , 0x5F , 0xA4 , 0xF4 , 0x8F , 0x3C , 0x02 , 0xB8 , 0xB0 , 0x04 ,
0x70 , 0x44 , 0x2C , 0x73 , 0x42 , 0xEE , 0xFF , 0xBA , 0x45 , 0x50 , 0xC0 , 0x95 , 0xFF , 0x62 , 0x14 , 0x91 , 0x23 , 0xF2 , 0x8A , 0x65 , 0x40 , 0x20 , 0xEB , 0x4B , 0x7B , 0x66 , 0xF2 , 0xC2 , 0xC8 , 0xD7 , 0x16 , 0x93 , 0x0A , 0xBD , 0x5C , 0xCC , 0x11 , 0x38 , 0xEA , 0x90 , 0x9C , 0x37 , 0xDA , 0xB2 , 0x80 , 0xBF , 0x5C , 0x41 , 0xC8 , 0x3B , 0x16 , 0x81 , 0x83 , 0xF7 , 0xE4 , 0x16 , 0x12 , 0x6C , 0x5F , 0x05 , 0xBE , 0x2B , 0x04 , 0x62 , 0x36 , 0x13 , 0x8F , 0xF1 , 0xC2 , 0x5A , 0xCB , 0xFB , 0x26 , 0x04 , 0xE0 , 0x31 , 0x81 , 0xA8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x02 , 0x31 , 0x00 , 0x30 , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 ,
0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x15 , 0x31 , 0x06 , 0x04 , 0x04 , 0x01 , 0x00 , 0x00 , 0x00 , 0x30 , 0x17 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x14 , 0x31 , 0x0A , 0x1E , 0x08 , 0x00 , 0x4D , 0x00 , 0x6F , 0x00 , 0x6E , 0x00 , 0x6F , 0x30 , 0x69 , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x01 , 0x31 , 0x5C , 0x1E , 0x5A , 0x00 , 0x4D , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x73 , 0x00 , 0x6F , 0x00 , 0x66 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x41 , 0x00 , 0x20 , 0x00 , 0x53 , 0x00 , 0x43 , 0x00 , 0x68 , 0x00 , 0x61 , 0x00 , 0x6E , 0x00 , 0x6E , 0x00 , 0x65 , 0x00 , 0x6C ,
0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x72 , 0x00 , 0x79 , 0x00 , 0x70 , 0x00 , 0x74 , 0x00 , 0x6F , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x20 , 0x00 , 0x50 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x76 , 0x00 , 0x69 , 0x00 , 0x64 , 0x00 , 0x65 , 0x00 , 0x72 , 0x30 , 0x82 , 0x02 , 0xB7 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x06 , 0xA0 , 0x82 , 0x02 , 0xA8 , 0x30 , 0x82 , 0x02 , 0xA4 , 0x02 , 0x01 , 0x00 , 0x30 , 0x82 , 0x02 , 0x9D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 ,
0x06 , 0x30 , 0x0E , 0x04 , 0x08 , 0x37 , 0xAE , 0x94 , 0x2A , 0x4C , 0x78 , 0xA2 , 0x9A , 0x02 , 0x02 , 0x07 , 0xD0 , 0x80 , 0x82 , 0x02 , 0x70 , 0x49 , 0xB9 , 0xA3 , 0x6E , 0xC7 , 0x96 , 0xCF , 0x92 , 0x12 , 0x43 , 0x69 , 0x57 , 0xAD , 0x4B , 0x88 , 0xA8 , 0x3F , 0xEA , 0x25 , 0xB6 , 0xE4 , 0x16 , 0x74 , 0x4E , 0xF5 , 0xF8 , 0xF2 , 0xEC , 0xC0 , 0xB7 , 0xC2 , 0x6A , 0x6E , 0xC0 , 0x67 , 0x5A , 0x5D , 0xFE , 0x0A , 0x7C , 0xBD , 0x06 , 0xFF , 0x2F , 0x34 , 0xFD , 0xE4 , 0x06 , 0x70 , 0x23 , 0xA3 , 0x28 , 0x27 , 0xCA , 0x91 , 0xD0 , 0xC7 , 0xA1 , 0x08 , 0x4F , 0x78 , 0x0E , 0x89 , 0xED , 0x29 , 0x8F , 0xD6 , 0x8E , 0x1C , 0xE0 , 0x30 , 0x08 , 0x77 , 0xA0 , 0x3F , 0x18 , 0xF1 , 0x81 , 0xD5 ,
0x73 , 0xD7 , 0x1A , 0xCA , 0xD4 , 0x6D , 0x56 , 0x7D , 0xFD , 0x30 , 0xB5 , 0xA0 , 0x5D , 0x59 , 0x82 , 0xB9 , 0xF7 , 0x02 , 0x19 , 0x83 , 0x68 , 0x19 , 0x08 , 0x5E , 0x26 , 0xCF , 0x06 , 0xFA , 0xA0 , 0xB4 , 0x85 , 0x95 , 0x10 , 0x6F , 0x91 , 0x82 , 0x89 , 0xE8 , 0x46 , 0xEE , 0x51 , 0xEB , 0x2A , 0x45 , 0xAC , 0x93 , 0x87 , 0x48 , 0x8C , 0xB6 , 0x02 , 0xB4 , 0x4D , 0xC6 , 0xFC , 0x51 , 0x4C , 0x75 , 0x9D , 0x5A , 0xE7 , 0x46 , 0x5B , 0x0A , 0x9D , 0x75 , 0xA3 , 0x0C , 0xB2 , 0x54 , 0x2A , 0x3E , 0x3A , 0x25 , 0xA3 , 0x75 , 0x66 , 0x52 , 0x61 , 0x7A , 0x78 , 0xED , 0xDD , 0x7E , 0xF2 , 0x4A , 0xA6 , 0xB6 , 0x3D , 0xEA , 0x62 , 0xE4 , 0x68 , 0x95 , 0x74 , 0x3D , 0x45 , 0xC1 , 0x6E , 0x6B ,
0xB6 , 0x6E , 0x8F , 0x97 , 0x39 , 0xB5 , 0x4F , 0xAA , 0x8E , 0xBB , 0x55 , 0x10 , 0x19 , 0xCB , 0x66 , 0xA0 , 0xBF , 0xAE , 0x8B , 0xE6 , 0xBC , 0x92 , 0x8D , 0x2D , 0xC1 , 0x83 , 0x87 , 0x53 , 0x81 , 0x32 , 0x3B , 0x8E , 0x80 , 0x76 , 0xF9 , 0xDE , 0x60 , 0x8F , 0x99 , 0x02 , 0x4F , 0x97 , 0x73 , 0x3D , 0xE3 , 0xC7 , 0xBA , 0xBD , 0x4C , 0x3F , 0x8A , 0x9B , 0xE3 , 0xFE , 0x24 , 0xC3 , 0x3E , 0xDE , 0x02 , 0x0F , 0x46 , 0x84 , 0x79 , 0xDF , 0x5E , 0xC9 , 0xA3 , 0x7C , 0x58 , 0x62 , 0xFC , 0x1D , 0x9F , 0x5E , 0x9A , 0xDB , 0x3C , 0x45 , 0x96 , 0x91 , 0xFD , 0xD9 , 0xD0 , 0xE7 , 0x7F , 0x72 , 0xBA , 0x2D , 0xC5 , 0x3A , 0x54 , 0xBC , 0xA0 , 0xAE , 0xAA , 0xFF , 0xE9 , 0x18 , 0x0C , 0x1B ,
0x9A , 0xD4 , 0xDA , 0x82 , 0xBF , 0x51 , 0x23 , 0xB3 , 0x6E , 0xEF , 0xDB , 0x85 , 0xE5 , 0xBF , 0x02 , 0xCC , 0xFB , 0x79 , 0xA6 , 0x45 , 0x86 , 0xDC , 0xDF , 0xF0 , 0x2C , 0x15 , 0x0B , 0xD1 , 0xE5 , 0x80 , 0xBB , 0x3F , 0x65 , 0x94 , 0xE5 , 0xAB , 0x76 , 0xE4 , 0xA5 , 0x92 , 0x7D , 0x0E , 0x8C , 0xC0 , 0x92 , 0x83 , 0x40 , 0x9D , 0x2F , 0xBD , 0x30 , 0xE1 , 0x7B , 0xB5 , 0x91 , 0xB2 , 0x5E , 0xD9 , 0xC6 , 0xB7 , 0xA4 , 0x30 , 0x06 , 0x18 , 0xED , 0x33 , 0x95 , 0x7B , 0xA6 , 0xE3 , 0xE5 , 0xC0 , 0x4B , 0xF5 , 0x0B , 0x6A , 0x3A , 0xF5 , 0xAC , 0x77 , 0x22 , 0xC0 , 0x84 , 0x3C , 0x5B , 0xE5 , 0x55 , 0xD5 , 0xDC , 0x7E , 0xFE , 0x08 , 0x02 , 0x37 , 0x69 , 0x52 , 0xB8 , 0x44 , 0x29 , 0x16 ,
0xB5 , 0xE8 , 0x8A , 0xA4 , 0xAC , 0x24 , 0x58 , 0xC3 , 0x53 , 0xAC , 0x37 , 0xE2 , 0xD4 , 0x0F , 0x21 , 0xC1 , 0x54 , 0x62 , 0x28 , 0xCA , 0xA3 , 0x8C , 0x01 , 0x26 , 0x97 , 0xFF , 0xAD , 0x0E , 0x5F , 0xB1 , 0x86 , 0x96 , 0xD1 , 0xFA , 0xE5 , 0x9F , 0x38 , 0x42 , 0x4D , 0x32 , 0xEB , 0xC8 , 0x4B , 0x4A , 0x01 , 0x91 , 0x5C , 0xCE , 0xC8 , 0x89 , 0x0A , 0x7C , 0x32 , 0x6D , 0x08 , 0x3E , 0x7D , 0xB0 , 0x3D , 0x16 , 0x99 , 0x52 , 0xB0 , 0xE0 , 0xBE , 0xFF , 0x42 , 0x61 , 0xC3 , 0x56 , 0xE1 , 0x9A , 0xA3 , 0xFB , 0x72 , 0xBB , 0x3B , 0x4C , 0xA3 , 0xFC , 0x5E , 0xFE , 0xC7 , 0xF2 , 0xBB , 0x17 , 0x96 , 0x00 , 0xB6 , 0x02 , 0xD1 , 0x58 , 0xF0 , 0xDA , 0x63 , 0xD2 , 0x4C , 0x91 , 0xDF , 0xFA ,
0xB5 , 0xAF , 0x1E , 0xDA , 0xD7 , 0x02 , 0x85 , 0xFE , 0x80 , 0x94 , 0x77 , 0x92 , 0x84 , 0x9A , 0x2F , 0x1C , 0xC2 , 0x71 , 0xA7 , 0x3F , 0xFA , 0x00 , 0xFC , 0x7E , 0x4B , 0xE2 , 0xD2 , 0x7B , 0xC8 , 0xB9 , 0x26 , 0xEC , 0xD4 , 0x7A , 0x3D , 0x6F , 0x89 , 0xB4 , 0x22 , 0x2F , 0xE9 , 0x41 , 0xA9 , 0x97 , 0x8C , 0x76 , 0xCE , 0xCD , 0xA6 , 0x94 , 0xA9 , 0x1D , 0x25 , 0x7C , 0x4D , 0xCF , 0x2E , 0x51 , 0x59 , 0xE9 , 0xE3 , 0xDB , 0x84 , 0x28 , 0x2E , 0x31 , 0x24 , 0xF9 , 0xA7 , 0xC0 , 0xA7 , 0x77 , 0xD0 , 0xB5 , 0x19 , 0x1C , 0xC9 , 0x22 , 0x28 , 0x94 , 0x39 , 0xF5 , 0xC3 , 0xAA , 0x78 , 0x3A , 0xE6 , 0x1D , 0xB3 , 0xCA , 0x95 , 0x7F , 0x7D , 0xBD , 0xFA , 0x7F , 0xCD , 0x09 , 0xA5 , 0x77 ,
0x8E , 0xC8 , 0xEB , 0x03 , 0x26 , 0xAF , 0x38 , 0x5A , 0x9A , 0xFB , 0xDC , 0x90 , 0xBD , 0xD7 , 0x46 , 0xA7 , 0xB4 , 0x71 , 0x8F , 0xF7 , 0x66 , 0x4A , 0x07 , 0x66 , 0xE4 , 0xD7 , 0x3E , 0xC4 , 0xD4 , 0x2B , 0x15 , 0x1F , 0xC8 , 0x9C , 0x3A , 0x47 , 0x5E , 0x6F , 0x84 , 0xE3 , 0x02 , 0x62 , 0x05 , 0x86 , 0x63 , 0x30 , 0x37 , 0x30 , 0x1F , 0x30 , 0x07 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1A , 0x04 , 0x14 , 0x62 , 0x54 , 0xAE , 0x53 , 0x8C , 0x33 , 0xEC , 0x3E , 0x2D , 0x73 , 0xE6 , 0xEB , 0x9A , 0xDD , 0x31 , 0xEE , 0x06 , 0x83 , 0x4B , 0xBA , 0x04 , 0x14 , 0x60 , 0x9B , 0x73 , 0xDD , 0x3F , 0x8F , 0x2E , 0x52 , 0x1C , 0x4C , 0xB9 , 0x8E , 0x7A , 0xC0 , 0xCD , 0x52 , 0xB4 , 0xBA ,
0xBD , 0x8C } ;
static public byte [ ] farscape_path_pfx = { 0x30 , 0x82 , 0x0B , 0x53 , 0x02 , 0x01 , 0x03 , 0x30 , 0x82 , 0x0B , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x0B , 0x04 , 0x04 , 0x82 , 0x0B , 0x00 , 0x30 , 0x82 , 0x0A , 0xFC , 0x30 , 0x82 , 0x03 , 0x8D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x03 , 0x7E , 0x04 , 0x82 , 0x03 , 0x7A , 0x30 , 0x82 , 0x03 , 0x76 , 0x30 , 0x82 , 0x03 , 0x72 , 0x06 , 0x0B , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x0A , 0x01 , 0x02 , 0xA0 , 0x82 , 0x02 , 0xB6 , 0x30 , 0x82 , 0x02 , 0xB2 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 , 0x03 , 0x30 ,
0x0E , 0x04 , 0x08 , 0x38 , 0xE0 , 0x5B , 0xD2 , 0xF6 , 0x07 , 0x19 , 0xE1 , 0x02 , 0x02 , 0x07 , 0xD0 , 0x04 , 0x82 , 0x02 , 0x90 , 0x1B , 0xCB , 0x34 , 0x7D , 0x3A , 0x5F , 0x9A , 0xA9 , 0x87 , 0xD7 , 0x17 , 0xCF , 0x5D , 0xAD , 0x94 , 0xB8 , 0x36 , 0xCD , 0xEC , 0x1B , 0xDF , 0x58 , 0xA9 , 0x99 , 0x18 , 0x75 , 0xC8 , 0x9D , 0x4F , 0x2D , 0xED , 0x82 , 0x10 , 0x18 , 0xFC , 0x9A , 0x89 , 0x3D , 0xAC , 0x3C , 0xC3 , 0x26 , 0x5F , 0x2B , 0x72 , 0x48 , 0xD5 , 0xA3 , 0xFA , 0x12 , 0x57 , 0x7E , 0x60 , 0x05 , 0xA1 , 0x2B , 0x20 , 0xAF , 0xB4 , 0x3B , 0x1A , 0x38 , 0xA4 , 0xED , 0x0A , 0x25 , 0xA3 , 0x4B , 0xBF , 0xAB , 0x64 , 0x26 , 0xE9 , 0xB5 , 0x6E , 0xE1 , 0x94 , 0x44 , 0xFA , 0x13 , 0x14 ,
0x0B , 0x49 , 0x76 , 0xCB , 0xB8 , 0x68 , 0xD0 , 0x64 , 0xEE , 0xB6 , 0xBC , 0xA4 , 0xD1 , 0x30 , 0x8C , 0xEF , 0xC9 , 0xA7 , 0x07 , 0x6F , 0x0E , 0xAA , 0xF7 , 0x48 , 0xA7 , 0xE1 , 0x7A , 0x3B , 0x85 , 0x75 , 0x79 , 0x65 , 0x51 , 0xE9 , 0xA7 , 0x1A , 0x6C , 0xE3 , 0x08 , 0x99 , 0x48 , 0x4B , 0xC5 , 0x66 , 0xC5 , 0x73 , 0xB3 , 0x5B , 0x99 , 0x60 , 0xDF , 0x8E , 0x3D , 0xB8 , 0x04 , 0x09 , 0xA2 , 0x2D , 0x70 , 0xBF , 0x6F , 0x00 , 0x9D , 0x1B , 0x3F , 0xE0 , 0xE7 , 0xDE , 0x05 , 0x71 , 0x54 , 0x3F , 0x2D , 0x29 , 0x3A , 0xFD , 0x44 , 0xE6 , 0x7F , 0x30 , 0x9B , 0x71 , 0x43 , 0x55 , 0x78 , 0x40 , 0x74 , 0x6D , 0x11 , 0x64 , 0xBB , 0x04 , 0xB7 , 0x36 , 0xE0 , 0xA4 , 0x45 , 0x74 , 0xBC , 0xC4 ,
0xC2 , 0x40 , 0xA5 , 0xF1 , 0x62 , 0x9D , 0x59 , 0x18 , 0xAD , 0x3D , 0xD6 , 0xDB , 0x9A , 0xF3 , 0x34 , 0x36 , 0x8B , 0x0C , 0xAF , 0xC8 , 0x72 , 0x82 , 0x9F , 0x34 , 0xC2 , 0xE0 , 0x96 , 0xB4 , 0x57 , 0xB9 , 0x02 , 0x8E , 0x00 , 0x3F , 0xC6 , 0x8A , 0x62 , 0x02 , 0xFE , 0x15 , 0xCB , 0xAE , 0x49 , 0xD7 , 0x06 , 0x4F , 0xFC , 0xF3 , 0x93 , 0xC1 , 0x0F , 0x78 , 0x8F , 0xD6 , 0xEE , 0xD7 , 0xB4 , 0x6F , 0xA4 , 0xD8 , 0x62 , 0x13 , 0x27 , 0x81 , 0x58 , 0xEC , 0x04 , 0x44 , 0xB6 , 0x47 , 0xBB , 0xAA , 0xEA , 0x51 , 0x44 , 0xF1 , 0xD3 , 0x2D , 0x7E , 0x79 , 0xED , 0xF0 , 0x3D , 0x05 , 0xA0 , 0xC5 , 0x61 , 0x05 , 0x2A , 0xE3 , 0x08 , 0xF1 , 0xD9 , 0xFC , 0x85 , 0x18 , 0xF7 , 0x49 , 0xEE , 0x33 ,
0x01 , 0xD8 , 0xE1 , 0x3C , 0x69 , 0xC5 , 0x99 , 0xE4 , 0xA3 , 0xCE , 0xBE , 0xA8 , 0x19 , 0x6A , 0x76 , 0x63 , 0x09 , 0xD3 , 0xD3 , 0x3B , 0x56 , 0x5A , 0xEA , 0x90 , 0x6F , 0x2A , 0xA9 , 0x24 , 0x6C , 0x30 , 0x2F , 0x89 , 0x8C , 0x77 , 0x79 , 0xC1 , 0x5A , 0x6A , 0xFD , 0xEC , 0x42 , 0x5E , 0xAF , 0x75 , 0xDE , 0xC9 , 0x08 , 0x26 , 0xCE , 0x2C , 0xF2 , 0xBD , 0x86 , 0x92 , 0x1B , 0xBB , 0x51 , 0x84 , 0x56 , 0xB7 , 0x9D , 0x1C , 0x21 , 0x31 , 0x02 , 0xFC , 0xCA , 0x6F , 0xDB , 0x71 , 0xC2 , 0x5B , 0x13 , 0x5C , 0x96 , 0x50 , 0x14 , 0x3B , 0x80 , 0x0B , 0x23 , 0xB1 , 0x21 , 0xCE , 0x63 , 0x76 , 0x7F , 0x0C , 0x00 , 0x32 , 0xE7 , 0x7E , 0x60 , 0x6E , 0x76 , 0x61 , 0xF5 , 0xAC , 0xCF , 0xA2 ,
0xDC , 0xE6 , 0x65 , 0xD3 , 0x01 , 0xD4 , 0x9C , 0x26 , 0xDA , 0xF3 , 0xAD , 0x00 , 0xE2 , 0x56 , 0x24 , 0xF2 , 0x3F , 0x75 , 0x7B , 0xEE , 0x2D , 0xB2 , 0xCC , 0xF2 , 0x0A , 0x14 , 0x90 , 0xC4 , 0x2A , 0x79 , 0xDE , 0x2A , 0x35 , 0x66 , 0xBC , 0xC2 , 0x55 , 0xDC , 0xB9 , 0x0F , 0xC8 , 0x08 , 0x51 , 0xCE , 0x40 , 0xAD , 0x5E , 0xB8 , 0xDD , 0xA0 , 0x2C , 0x4C , 0x96 , 0x99 , 0x3B , 0x8F , 0x0B , 0xCC , 0x00 , 0xA1 , 0x37 , 0xF5 , 0xDB , 0xE2 , 0xF8 , 0x15 , 0xA1 , 0xC3 , 0xCE , 0x6B , 0xDE , 0x3F , 0xE9 , 0x52 , 0x9D , 0x07 , 0x2E , 0xBC , 0x7A , 0x67 , 0x94 , 0x19 , 0x50 , 0x32 , 0xFC , 0x1E , 0x6E , 0x9A , 0x94 , 0xDD , 0xB6 , 0x87 , 0x3D , 0x44 , 0xA1 , 0xA4 , 0x95 , 0x7A , 0x10 , 0x3E ,
0xAD , 0x73 , 0x5E , 0xA8 , 0xCF , 0x35 , 0x0E , 0x6D , 0x48 , 0xE7 , 0xC5 , 0x2D , 0x91 , 0xAB , 0x56 , 0xF5 , 0x6B , 0x4B , 0xBC , 0x65 , 0xB9 , 0x3A , 0x7D , 0x46 , 0x8E , 0xD0 , 0xC0 , 0x71 , 0x0F , 0x12 , 0x0D , 0xFD , 0x50 , 0x49 , 0xFF , 0x23 , 0x0A , 0xC2 , 0xA0 , 0xB1 , 0xD9 , 0x5D , 0x08 , 0xFE , 0xDB , 0x52 , 0x91 , 0xD0 , 0x8D , 0x60 , 0x7D , 0xDC , 0x77 , 0x0A , 0x99 , 0xBF , 0xC5 , 0x42 , 0xFB , 0x0D , 0x44 , 0x38 , 0xF4 , 0xC4 , 0xB1 , 0xF2 , 0x87 , 0x8B , 0x26 , 0x3C , 0x2D , 0x1C , 0xE2 , 0x67 , 0xEE , 0xF6 , 0x84 , 0xB8 , 0x04 , 0xE8 , 0x2B , 0x8D , 0x7C , 0x59 , 0x0F , 0x70 , 0xF5 , 0x60 , 0xEA , 0x44 , 0x1F , 0xB8 , 0xB8 , 0xCB , 0xEB , 0xFC , 0xBE , 0xBE , 0x82 , 0xA6 ,
0xBB , 0x1B , 0x77 , 0x26 , 0x58 , 0x45 , 0xA6 , 0x4B , 0x0A , 0x92 , 0x86 , 0xC4 , 0x52 , 0xEA , 0x72 , 0xA4 , 0xCF , 0x72 , 0xB8 , 0x98 , 0x40 , 0x76 , 0x2D , 0x2D , 0xB2 , 0xCD , 0xC0 , 0x0D , 0x0F , 0x96 , 0x8A , 0xA0 , 0x39 , 0xD2 , 0xF0 , 0x79 , 0xD9 , 0x19 , 0xE3 , 0x12 , 0x40 , 0xAB , 0x49 , 0x3F , 0xC9 , 0x97 , 0x3D , 0x25 , 0xFF , 0xCF , 0xEC , 0x01 , 0xBF , 0xE3 , 0x4E , 0xB4 , 0x3B , 0x8F , 0x64 , 0xDC , 0x70 , 0xDA , 0xA0 , 0xE6 , 0x1C , 0x09 , 0x95 , 0x6B , 0xCF , 0x16 , 0xBF , 0x44 , 0xA5 , 0xFA , 0x36 , 0x31 , 0x81 , 0xA8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x02 , 0x31 , 0x00 , 0x30 , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 ,
0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x15 , 0x31 , 0x06 , 0x04 , 0x04 , 0x01 , 0x00 , 0x00 , 0x00 , 0x30 , 0x17 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x14 , 0x31 , 0x0A , 0x1E , 0x08 , 0x00 , 0x4D , 0x00 , 0x6F , 0x00 , 0x6E , 0x00 , 0x6F , 0x30 , 0x69 , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x01 , 0x31 , 0x5C , 0x1E , 0x5A , 0x00 , 0x4D , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x73 , 0x00 , 0x6F , 0x00 , 0x66 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x41 , 0x00 , 0x20 , 0x00 , 0x53 , 0x00 , 0x43 , 0x00 , 0x68 , 0x00 , 0x61 , 0x00 , 0x6E , 0x00 , 0x6E , 0x00 , 0x65 , 0x00 , 0x6C ,
0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x72 , 0x00 , 0x79 , 0x00 , 0x70 , 0x00 , 0x74 , 0x00 , 0x6F , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x20 , 0x00 , 0x50 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x76 , 0x00 , 0x69 , 0x00 , 0x64 , 0x00 , 0x65 , 0x00 , 0x72 , 0x30 , 0x82 , 0x07 , 0x67 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x06 , 0xA0 , 0x82 , 0x07 , 0x58 , 0x30 , 0x82 , 0x07 , 0x54 , 0x02 , 0x01 , 0x00 , 0x30 , 0x82 , 0x07 , 0x4D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 ,
0x06 , 0x30 , 0x0E , 0x04 , 0x08 , 0xB7 , 0xF8 , 0xA2 , 0x70 , 0xCF , 0xB6 , 0x51 , 0x48 , 0x02 , 0x02 , 0x07 , 0xD0 , 0x80 , 0x82 , 0x07 , 0x20 , 0x5E , 0x23 , 0x13 , 0x6E , 0x0A , 0x69 , 0x00 , 0x0C , 0xDA , 0xAD , 0xA8 , 0xC8 , 0xF8 , 0xAC , 0xDC , 0x31 , 0x49 , 0xB8 , 0x96 , 0xF3 , 0x75 , 0x0F , 0x1C , 0xEF , 0x68 , 0xA2 , 0x9F , 0xB3 , 0xE3 , 0xB0 , 0x39 , 0x81 , 0x61 , 0x95 , 0x86 , 0x5A , 0x99 , 0x6C , 0x6C , 0x84 , 0xE6 , 0x8D , 0x8D , 0xD9 , 0x2E , 0xA8 , 0xE9 , 0x3B , 0xC6 , 0x74 , 0xB1 , 0xD1 , 0xCA , 0xC2 , 0x38 , 0x8C , 0x0C , 0xB4 , 0x06 , 0x29 , 0x26 , 0x52 , 0x35 , 0x68 , 0x28 , 0xA6 , 0xF4 , 0x7B , 0x0A , 0xE0 , 0xBC , 0xA9 , 0xBD , 0xAC , 0x5F , 0xFF , 0x06 , 0x56 , 0x70 ,
0xE1 , 0xB0 , 0x11 , 0x2B , 0x17 , 0x4B , 0x0A , 0x8C , 0x42 , 0x77 , 0xD1 , 0xF8 , 0x08 , 0x28 , 0x73 , 0x60 , 0x5A , 0xC1 , 0xD9 , 0x3F , 0x60 , 0x40 , 0x21 , 0xC6 , 0x33 , 0x9D , 0x44 , 0xF6 , 0x98 , 0xF4 , 0x52 , 0xFB , 0x57 , 0x6D , 0x1E , 0x9A , 0x52 , 0xF6 , 0x11 , 0xAD , 0xA0 , 0xE4 , 0xFE , 0x0E , 0xEB , 0x3F , 0xDE , 0x7C , 0xB7 , 0x82 , 0x04 , 0x1C , 0x78 , 0xFD , 0xEB , 0x99 , 0x4D , 0x8E , 0xEE , 0xCA , 0xB2 , 0x4F , 0xD1 , 0x47 , 0x5B , 0xAA , 0x4A , 0xEB , 0x16 , 0xBF , 0x50 , 0x93 , 0xBF , 0xDF , 0x57 , 0x6A , 0x8A , 0xBD , 0x4E , 0xED , 0x72 , 0x5D , 0x50 , 0x59 , 0xC7 , 0x4F , 0x4F , 0xB5 , 0x7E , 0x4F , 0xA3 , 0xC2 , 0x51 , 0x3B , 0x31 , 0x12 , 0x14 , 0xCC , 0x2E , 0x1C ,
0xC4 , 0xD3 , 0xC2 , 0x89 , 0xD3 , 0x6A , 0xC4 , 0x16 , 0xAA , 0x13 , 0x83 , 0xD6 , 0x30 , 0xD6 , 0x76 , 0xE0 , 0x16 , 0xCF , 0x28 , 0x25 , 0xA8 , 0xFB , 0x25 , 0xBC , 0x82 , 0xEF , 0xD4 , 0xC4 , 0x64 , 0x3B , 0xE0 , 0xC0 , 0x91 , 0xC0 , 0x21 , 0x17 , 0x43 , 0x8F , 0xCB , 0xCE , 0xD3 , 0x2B , 0x7B , 0x11 , 0x5E , 0x73 , 0x62 , 0x17 , 0x9E , 0xB4 , 0x00 , 0xF7 , 0xB3 , 0x7E , 0x24 , 0xC9 , 0x21 , 0xB8 , 0xF7 , 0x33 , 0x02 , 0x04 , 0xB9 , 0xDE , 0x6C , 0x97 , 0xC4 , 0x3B , 0xCF , 0xDE , 0xC4 , 0xF7 , 0x2A , 0x68 , 0x8A , 0x82 , 0x22 , 0xA1 , 0x95 , 0xBB , 0x9E , 0xF6 , 0x6C , 0xBB , 0x0E , 0x69 , 0x83 , 0x55 , 0xE2 , 0x5A , 0x5F , 0x60 , 0x2E , 0x43 , 0x41 , 0xD1 , 0xB8 , 0xAB , 0x17 , 0x3A ,
0x4C , 0xA8 , 0xB9 , 0x81 , 0xFF , 0x40 , 0x28 , 0x50 , 0x67 , 0xCF , 0x3A , 0x01 , 0x5D , 0xCC , 0x09 , 0xD2 , 0x2D , 0x2A , 0x7D , 0x4E , 0xDA , 0x88 , 0x85 , 0x26 , 0x03 , 0x05 , 0x41 , 0x2B , 0x7A , 0x4B , 0xEC , 0x1A , 0xBC , 0xDF , 0xD6 , 0x98 , 0xFA , 0x22 , 0x9D , 0xFA , 0xE3 , 0x7D , 0x37 , 0x5B , 0x5E , 0xFF , 0x54 , 0xB3 , 0x48 , 0x50 , 0x0D , 0xDC , 0x93 , 0xD4 , 0xF8 , 0xC7 , 0x05 , 0x66 , 0xC7 , 0xAC , 0x9C , 0x87 , 0x4A , 0x90 , 0xCE , 0x2E , 0xF3 , 0x4C , 0x7E , 0x90 , 0xC5 , 0xE5 , 0x20 , 0x2C , 0xD9 , 0x24 , 0xB4 , 0x2C , 0x51 , 0x57 , 0x1F , 0xD9 , 0x24 , 0x3C , 0xFA , 0x94 , 0x0E , 0xAB , 0xAA , 0x6A , 0x42 , 0xFE , 0x9D , 0xE7 , 0x53 , 0xD6 , 0xC2 , 0x1D , 0x5F , 0x2E ,
0x79 , 0x86 , 0x02 , 0xDB , 0xD0 , 0x8B , 0x0C , 0xD7 , 0x43 , 0x96 , 0x60 , 0x2B , 0x4A , 0x8F , 0xEE , 0xE3 , 0x19 , 0x61 , 0x47 , 0x82 , 0x87 , 0x6F , 0x70 , 0xB6 , 0xE2 , 0x3F , 0x17 , 0x66 , 0x21 , 0xE1 , 0x53 , 0x61 , 0xC2 , 0xD3 , 0xE8 , 0x26 , 0x02 , 0x68 , 0x2A , 0x80 , 0xC8 , 0xFD , 0x8A , 0xA8 , 0xCC , 0xD5 , 0xAA , 0xCB , 0x14 , 0xDD , 0x5A , 0x7D , 0x4A , 0xCA , 0x39 , 0xE1 , 0x51 , 0x8A , 0x26 , 0x8A , 0xDA , 0xE2 , 0x54 , 0x92 , 0x28 , 0x6E , 0x63 , 0x3F , 0x9A , 0x50 , 0xC0 , 0x5C , 0x76 , 0xE2 , 0x98 , 0x94 , 0xFB , 0xBC , 0xAD , 0x93 , 0x2C , 0x97 , 0xDF , 0x15 , 0x20 , 0x7D , 0x4F , 0x28 , 0xD5 , 0xD1 , 0x5D , 0x35 , 0x8B , 0x5B , 0x96 , 0x77 , 0x34 , 0xDD , 0xA3 , 0x07 ,
0x44 , 0xFB , 0xCD , 0x72 , 0x2B , 0x12 , 0xD5 , 0x1D , 0x23 , 0xA1 , 0x51 , 0x04 , 0xF8 , 0x9D , 0xF8 , 0xFF , 0x0F , 0x39 , 0x0F , 0x05 , 0x33 , 0x24 , 0x0A , 0x1F , 0xD1 , 0xB5 , 0xA8 , 0x75 , 0x39 , 0x41 , 0xE8 , 0xD5 , 0x99 , 0x1D , 0x9B , 0x45 , 0xFC , 0x32 , 0x20 , 0x6E , 0xFA , 0x96 , 0x80 , 0xDD , 0x88 , 0x5D , 0x3B , 0x12 , 0x1C , 0xC6 , 0x86 , 0xFA , 0x27 , 0x4A , 0x78 , 0x46 , 0xE2 , 0xC0 , 0xCC , 0x66 , 0x01 , 0xE8 , 0x30 , 0x32 , 0x26 , 0x42 , 0xDE , 0x8B , 0x71 , 0xE8 , 0x09 , 0x9C , 0xF4 , 0x90 , 0x71 , 0x17 , 0x66 , 0xFE , 0x0A , 0x0F , 0xD4 , 0x84 , 0x13 , 0xFB , 0x66 , 0x99 , 0x98 , 0xAF , 0xD8 , 0x16 , 0x13 , 0x15 , 0xAD , 0x18 , 0xBE , 0x49 , 0x02 , 0xAB , 0x42 , 0x50 ,
0x14 , 0xB7 , 0x3B , 0x33 , 0x3C , 0x22 , 0xA9 , 0xE1 , 0xC5 , 0x32 , 0xCD , 0x8D , 0xB4 , 0x31 , 0xF9 , 0x27 , 0x6C , 0x50 , 0x0B , 0x40 , 0x5E , 0xBE , 0x02 , 0xB5 , 0x27 , 0xC4 , 0x0D , 0x2C , 0xD5 , 0xAB , 0x8A , 0x58 , 0x5E , 0x53 , 0xAD , 0x9C , 0x0D , 0x5B , 0x06 , 0xE8 , 0x77 , 0x24 , 0x94 , 0xAD , 0xC0 , 0x2C , 0x17 , 0x8F , 0x20 , 0x70 , 0xC8 , 0x29 , 0xEB , 0x9B , 0x84 , 0x4A , 0x91 , 0xA5 , 0xEC , 0x85 , 0x2C , 0xCF , 0x68 , 0xC9 , 0x72 , 0xEB , 0x3D , 0x63 , 0xE9 , 0xDB , 0x7D , 0xBB , 0x3D , 0xBE , 0x9A , 0x37 , 0x91 , 0x07 , 0xE5 , 0x95 , 0x39 , 0x63 , 0xB0 , 0x3F , 0x46 , 0xEA , 0xB7 , 0x76 , 0x82 , 0x05 , 0xE1 , 0xFF , 0x7C , 0x14 , 0x41 , 0x0F , 0x74 , 0x3E , 0x43 , 0xCD ,
0x87 , 0x5A , 0xA7 , 0x30 , 0x61 , 0x29 , 0xE2 , 0xBA , 0x59 , 0x7F , 0xF3 , 0xBF , 0x78 , 0x1C , 0x4A , 0xB8 , 0x59 , 0xEF , 0x9D , 0xE3 , 0xFD , 0xEB , 0xE9 , 0x39 , 0xA9 , 0xDF , 0x3D , 0xC9 , 0xD4 , 0x42 , 0x5F , 0x79 , 0xCA , 0xFC , 0xEE , 0xFE , 0xA0 , 0x88 , 0x30 , 0x78 , 0x69 , 0x37 , 0xA0 , 0xC2 , 0x64 , 0xBC , 0x41 , 0x65 , 0xDB , 0xB8 , 0xB0 , 0x99 , 0xC7 , 0xD5 , 0xF9 , 0x03 , 0x05 , 0x98 , 0x5A , 0xAB , 0x76 , 0xB5 , 0x0D , 0x7B , 0xDF , 0x9B , 0xFA , 0x92 , 0x5D , 0xBD , 0x52 , 0x30 , 0xB7 , 0x0F , 0xE8 , 0x60 , 0x97 , 0xCC , 0xF5 , 0x66 , 0xA2 , 0xD0 , 0x77 , 0x9E , 0x6B , 0x5C , 0xF2 , 0x41 , 0x20 , 0x21 , 0x6D , 0x0C , 0xE1 , 0xB6 , 0x26 , 0xD8 , 0xD9 , 0x66 , 0x94 , 0xC0 ,
0x55 , 0x4E , 0xCC , 0xBC , 0x2D , 0xDC , 0xC3 , 0x23 , 0x17 , 0x9C , 0x7F , 0xA6 , 0x75 , 0x38 , 0x33 , 0xBB , 0x49 , 0xBE , 0xF0 , 0x77 , 0xCB , 0xE7 , 0xB2 , 0xF5 , 0x40 , 0xE3 , 0xD5 , 0xCC , 0x1F , 0x83 , 0x50 , 0xA5 , 0x2E , 0x1B , 0x17 , 0xBD , 0x63 , 0x8C , 0x9F , 0x99 , 0x30 , 0x41 , 0xC8 , 0x0D , 0x8B , 0x05 , 0x80 , 0x67 , 0x03 , 0x60 , 0xCF , 0x2A , 0xA0 , 0x55 , 0x14 , 0x74 , 0xA7 , 0xEA , 0x43 , 0x3F , 0x5A , 0x03 , 0x0B , 0xEF , 0x3F , 0xC8 , 0xAA , 0x03 , 0xB9 , 0x1B , 0xC6 , 0xB9 , 0x63 , 0xD4 , 0x9C , 0xA1 , 0x42 , 0x18 , 0x32 , 0x12 , 0x87 , 0xEA , 0x44 , 0xB9 , 0xA8 , 0x72 , 0xA8 , 0x75 , 0xB4 , 0x09 , 0xEB , 0x90 , 0x7F , 0xB5 , 0x00 , 0x39 , 0xDE , 0x2C , 0x07 , 0x87 ,
0xB5 , 0x35 , 0xDD , 0x44 , 0x03 , 0x09 , 0xA9 , 0xA0 , 0xD6 , 0x40 , 0x69 , 0x88 , 0xC9 , 0x2A , 0xDB , 0x3E , 0x56 , 0xEF , 0x42 , 0x23 , 0xB7 , 0x4D , 0x62 , 0xDA , 0x56 , 0x1C , 0xC5 , 0xC1 , 0x4D , 0x07 , 0x02 , 0x14 , 0x7E , 0xE7 , 0x6D , 0x38 , 0x05 , 0x70 , 0x19 , 0x77 , 0xA6 , 0x46 , 0xE9 , 0x18 , 0x3E , 0x06 , 0xEE , 0x5A , 0xCA , 0x35 , 0xE3 , 0xCD , 0xAA , 0x4C , 0x89 , 0x5D , 0x41 , 0x85 , 0x17 , 0x53 , 0x18 , 0x86 , 0x3D , 0x20 , 0x18 , 0x53 , 0x1D , 0xF8 , 0x4C , 0x09 , 0x2C , 0x48 , 0x75 , 0x00 , 0xF8 , 0xD1 , 0xF4 , 0xA5 , 0xD7 , 0x29 , 0xB5 , 0xFF , 0x42 , 0xFA , 0x6B , 0xCB , 0x47 , 0x0F , 0x33 , 0x00 , 0x59 , 0x54 , 0x07 , 0x62 , 0x5C , 0xC7 , 0x57 , 0x63 , 0xB4 , 0x32 ,
0x5C , 0xF1 , 0x8E , 0xBA , 0x6D , 0x0E , 0x85 , 0x3B , 0x3D , 0xE7 , 0xAA , 0x31 , 0x61 , 0x77 , 0x3F , 0x77 , 0xF4 , 0x1F , 0xD7 , 0x6C , 0x5F , 0x13 , 0xCF , 0xB5 , 0x9A , 0xAC , 0x6F , 0x2C , 0x49 , 0x2D , 0xDD , 0xED , 0x27 , 0xA9 , 0x77 , 0x1F , 0x38 , 0x78 , 0x16 , 0x82 , 0x00 , 0xB3 , 0xD9 , 0x8E , 0xFA , 0x43 , 0xE2 , 0x54 , 0xB7 , 0x36 , 0xED , 0x20 , 0x33 , 0x1A , 0x7E , 0x0E , 0xF2 , 0xEE , 0x20 , 0xE7 , 0x10 , 0xC4 , 0xB6 , 0x07 , 0x0A , 0x42 , 0x26 , 0xCA , 0xC1 , 0x6C , 0x29 , 0xA1 , 0xBD , 0x05 , 0xE0 , 0x70 , 0xED , 0x17 , 0x7C , 0x21 , 0xD3 , 0x9F , 0x72 , 0xE7 , 0x47 , 0xA3 , 0x5F , 0xCA , 0x50 , 0x4C , 0x3C , 0x16 , 0x9D , 0x20 , 0x49 , 0x7B , 0x9A , 0x53 , 0xCF , 0x7C ,
0x9B , 0x69 , 0x5E , 0xE0 , 0x56 , 0xB0 , 0x60 , 0xFB , 0xC6 , 0xE8 , 0x67 , 0x31 , 0x18 , 0xDB , 0x67 , 0xA2 , 0x61 , 0xE2 , 0x8E , 0x35 , 0xFA , 0xBD , 0xED , 0x43 , 0x32 , 0xCA , 0x99 , 0xAC , 0xF7 , 0xCB , 0xB8 , 0x1E , 0x57 , 0x2D , 0xC7 , 0xB4 , 0x2A , 0xEA , 0x53 , 0xCE , 0xDB , 0xD7 , 0xE6 , 0x8F , 0x9A , 0x98 , 0x12 , 0xE3 , 0xB0 , 0x7E , 0x85 , 0x1B , 0x6B , 0x2F , 0xE3 , 0xD0 , 0x54 , 0x5C , 0x31 , 0xC0 , 0x96 , 0xE8 , 0x04 , 0xD9 , 0x87 , 0x8F , 0x8A , 0xC9 , 0xC1 , 0x95 , 0x31 , 0x11 , 0x66 , 0xC3 , 0x86 , 0x06 , 0x93 , 0xC4 , 0xDC , 0x6F , 0xD7 , 0x7C , 0x65 , 0xF3 , 0xF9 , 0xB1 , 0x6F , 0x34 , 0xD8 , 0x25 , 0x21 , 0x02 , 0x1B , 0x12 , 0x52 , 0x19 , 0xD0 , 0xED , 0xB8 , 0x4A ,
0x67 , 0x1E , 0x49 , 0x2C , 0xDD , 0x47 , 0xA7 , 0x0A , 0x1F , 0x21 , 0x67 , 0x5A , 0x0F , 0x34 , 0xDB , 0x6D , 0x1E , 0xFB , 0x71 , 0xBC , 0xB9 , 0x8F , 0x84 , 0xE4 , 0x3A , 0xE4 , 0x47 , 0x93 , 0x48 , 0xC2 , 0xCA , 0xDA , 0x5B , 0x7B , 0xA0 , 0x3F , 0x2F , 0x9C , 0x68 , 0xDC , 0x72 , 0x15 , 0x18 , 0x57 , 0xBA , 0x32 , 0x6B , 0x92 , 0x08 , 0x08 , 0x65 , 0xA5 , 0x30 , 0xA4 , 0xED , 0x35 , 0x80 , 0xC5 , 0xD3 , 0x93 , 0x01 , 0x36 , 0x53 , 0x8E , 0xC9 , 0xF6 , 0x2D , 0xCA , 0xB9 , 0xE6 , 0xE9 , 0x94 , 0x89 , 0xE3 , 0x05 , 0x81 , 0x9B , 0x69 , 0x0B , 0xD7 , 0xD2 , 0x55 , 0x0A , 0xFE , 0xAF , 0x98 , 0x97 , 0xB9 , 0xCB , 0xB8 , 0xCB , 0xB6 , 0x48 , 0xD1 , 0xB4 , 0xF1 , 0xD2 , 0x19 , 0x53 , 0xB1 ,
0xCE , 0x4E , 0x3D , 0x11 , 0xF3 , 0xC6 , 0x89 , 0xFC , 0x68 , 0x48 , 0x4C , 0xF9 , 0x11 , 0x1B , 0xDF , 0x10 , 0x21 , 0x44 , 0x2C , 0x43 , 0xCC , 0x00 , 0x0D , 0xC8 , 0x40 , 0x6D , 0xDB , 0xCE , 0xC7 , 0xBF , 0xA4 , 0xCF , 0x6C , 0xAF , 0x71 , 0xF4 , 0x72 , 0xB8 , 0xF4 , 0x32 , 0x19 , 0xD2 , 0xFC , 0xFE , 0x28 , 0xC8 , 0x00 , 0x44 , 0xB9 , 0xEC , 0x70 , 0x5B , 0xF5 , 0x39 , 0xDC , 0xBD , 0xF4 , 0xEF , 0xC3 , 0x8A , 0xF1 , 0x06 , 0x52 , 0x90 , 0xAF , 0x18 , 0x45 , 0xF1 , 0xC7 , 0x10 , 0x0C , 0xD2 , 0xB3 , 0xBC , 0xE5 , 0xF1 , 0x32 , 0x6A , 0x0C , 0x55 , 0x3E , 0x28 , 0x62 , 0xC9 , 0xC1 , 0x12 , 0x1F , 0x6E , 0x30 , 0x6A , 0x4C , 0x9B , 0x6D , 0x32 , 0x18 , 0x2D , 0xDD , 0xE6 , 0x0F , 0xA5 ,
0x0B , 0xBE , 0xBB , 0xF8 , 0x8D , 0xF7 , 0x40 , 0x9F , 0x24 , 0xB1 , 0x85 , 0x17 , 0x9F , 0x38 , 0x2C , 0xEE , 0x2F , 0x50 , 0x99 , 0x30 , 0x75 , 0x95 , 0x85 , 0xA2 , 0xB7 , 0xA2 , 0x7C , 0x42 , 0x58 , 0xD9 , 0x7D , 0x52 , 0xB8 , 0x0D , 0xF2 , 0x68 , 0x57 , 0x75 , 0xEC , 0x5A , 0xFF , 0xBE , 0xC3 , 0xB4 , 0x21 , 0xE2 , 0xA1 , 0xCB , 0x60 , 0x5F , 0x2A , 0x3A , 0xEE , 0xE0 , 0xC3 , 0xFB , 0x9A , 0x21 , 0x02 , 0x86 , 0x10 , 0xA1 , 0xCF , 0x2F , 0x6D , 0x83 , 0xBC , 0x09 , 0xCE , 0x97 , 0x08 , 0xDB , 0x6E , 0x17 , 0x90 , 0xEF , 0x06 , 0x2E , 0x19 , 0x27 , 0xC2 , 0x1A , 0x9E , 0xB4 , 0xB7 , 0x16 , 0x1A , 0xF6 , 0x92 , 0x81 , 0x5C , 0xF3 , 0x8D , 0x52 , 0x87 , 0xD1 , 0x50 , 0x23 , 0x78 , 0xE5 ,
0x81 , 0x16 , 0x24 , 0x12 , 0x21 , 0xD8 , 0x70 , 0x30 , 0xB4 , 0x38 , 0x40 , 0x7B , 0xBC , 0x21 , 0x51 , 0xDB , 0x66 , 0x15 , 0x4C , 0x21 , 0x8E , 0xF5 , 0x5B , 0x78 , 0x65 , 0x29 , 0x7C , 0xEF , 0x5D , 0xE0 , 0x7E , 0x4D , 0xF9 , 0x35 , 0xC6 , 0x97 , 0xEA , 0x4A , 0x56 , 0xB5 , 0xA2 , 0x38 , 0xAE , 0xF1 , 0x50 , 0x1A , 0xBE , 0xE8 , 0xB1 , 0x68 , 0xBA , 0xB6 , 0x4D , 0x67 , 0x63 , 0x52 , 0x07 , 0xBC , 0x4E , 0x68 , 0x7C , 0x30 , 0x75 , 0x16 , 0x97 , 0x99 , 0xD5 , 0x8E , 0x14 , 0xD9 , 0x35 , 0x80 , 0x35 , 0x48 , 0xA3 , 0x42 , 0x3B , 0x60 , 0xC0 , 0xF7 , 0xC5 , 0x4E , 0x40 , 0xEF , 0x1D , 0xA4 , 0x2A , 0x43 , 0xD3 , 0xA9 , 0xB5 , 0x3D , 0x72 , 0x4D , 0x51 , 0x17 , 0xFC , 0x92 , 0x2F , 0xAC ,
0xC8 , 0x81 , 0xE1 , 0x01 , 0x25 , 0xBE , 0x89 , 0xA9 , 0x13 , 0x9B , 0xE6 , 0xBF , 0x60 , 0x9E , 0x43 , 0x68 , 0x65 , 0x34 , 0x7A , 0x9C , 0x01 , 0x9F , 0xA5 , 0x32 , 0xFC , 0x06 , 0x38 , 0x93 , 0x4F , 0x15 , 0x35 , 0x42 , 0xAB , 0xB0 , 0x36 , 0x67 , 0x06 , 0x4F , 0x2C , 0x70 , 0x64 , 0x41 , 0x31 , 0x20 , 0x90 , 0xA6 , 0x3B , 0xC9 , 0x99 , 0xD8 , 0x47 , 0x42 , 0x64 , 0xB6 , 0x2B , 0x08 , 0xD3 , 0x0E , 0x41 , 0x19 , 0x77 , 0xF3 , 0x5D , 0x56 , 0x05 , 0xF2 , 0xBC , 0xF9 , 0x9A , 0x92 , 0x43 , 0xD9 , 0x18 , 0x83 , 0x90 , 0x13 , 0xD8 , 0xA1 , 0x42 , 0x2A , 0x18 , 0x2D , 0xD8 , 0x1D , 0xE8 , 0x50 , 0xC5 , 0xE8 , 0x6F , 0x4F , 0x05 , 0x45 , 0x74 , 0x06 , 0x2A , 0x8B , 0x24 , 0x33 , 0xC0 , 0xAA ,
0xAA , 0x84 , 0x8A , 0xE2 , 0xE8 , 0xB0 , 0x7E , 0x2D , 0xBD , 0x0C , 0x20 , 0xD1 , 0x44 , 0xAA , 0xCA , 0xC4 , 0x83 , 0x8C , 0x08 , 0xA3 , 0x17 , 0x36 , 0xA1 , 0xA1 , 0xC2 , 0x04 , 0xA7 , 0x06 , 0xCB , 0xB7 , 0xF2 , 0x64 , 0x28 , 0x0C , 0xC4 , 0x91 , 0x0B , 0xDF , 0x93 , 0xCB , 0xBE , 0x85 , 0x07 , 0x11 , 0xBB , 0xD8 , 0x8A , 0xB1 , 0xAB , 0xDC , 0x91 , 0x02 , 0xDE , 0x4F , 0xE5 , 0x6E , 0xC7 , 0x96 , 0xAB , 0x7E , 0x4A , 0xAA , 0xCF , 0x05 , 0x46 , 0xE2 , 0xB3 , 0x52 , 0xCD , 0x93 , 0x7E , 0xAE , 0xB1 , 0x40 , 0x61 , 0x7E , 0xCB , 0x43 , 0x7F , 0xF4 , 0x32 , 0x8C , 0xA5 , 0x0D , 0x52 , 0xF7 , 0x7A , 0x76 , 0xBA , 0x05 , 0x14 , 0x65 , 0xAD , 0x36 , 0x85 , 0x46 , 0x15 , 0x00 , 0x01 , 0xD7 ,
0x04 , 0xA3 , 0xD3 , 0x1A , 0xAE , 0x59 , 0xEF , 0x6E , 0xBE , 0x39 , 0xDF , 0x0D , 0x78 , 0xEF , 0x6F , 0x14 , 0x02 , 0xEC , 0x04 , 0xB9 , 0xE7 , 0x15 , 0x54 , 0x51 , 0x83 , 0x75 , 0xE2 , 0x06 , 0x1F , 0x07 , 0xD3 , 0x82 , 0xCB , 0x01 , 0x03 , 0xE5 , 0x43 , 0xAC , 0x62 , 0x66 , 0xF7 , 0xCF , 0x74 , 0x1B , 0xCD , 0x30 , 0x37 , 0x30 , 0x1F , 0x30 , 0x07 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1A , 0x04 , 0x14 , 0x84 , 0xA8 , 0x88 , 0x5F , 0xF6 , 0x8E , 0xEC , 0x49 , 0x94 , 0x28 , 0xDD , 0xC1 , 0xA3 , 0xCB , 0xBD , 0x73 , 0x4A , 0x76 , 0x0E , 0x6B , 0x04 , 0x14 , 0x7B , 0x11 , 0xA6 , 0xD2 , 0x27 , 0x3F , 0x96 , 0xC9 , 0xA7 , 0xEF , 0x06 , 0x6D , 0x03 , 0xF9 , 0xEA , 0x04 , 0x2C , 0xC7 ,
0xF7 , 0x11 } ;
static public byte [ ] farscape_strong_pfx = { 0x30 , 0x82 , 0x06 , 0xA7 , 0x02 , 0x01 , 0x03 , 0x30 , 0x82 , 0x06 , 0x63 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x06 , 0x54 , 0x04 , 0x82 , 0x06 , 0x50 , 0x30 , 0x82 , 0x06 , 0x4C , 0x30 , 0x82 , 0x03 , 0x8D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x03 , 0x7E , 0x04 , 0x82 , 0x03 , 0x7A , 0x30 , 0x82 , 0x03 , 0x76 , 0x30 , 0x82 , 0x03 , 0x72 , 0x06 , 0x0B , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x0A , 0x01 , 0x02 , 0xA0 , 0x82 , 0x02 , 0xB6 , 0x30 , 0x82 , 0x02 , 0xB2 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 , 0x03 , 0x30 ,
0x0E , 0x04 , 0x08 , 0x21 , 0x53 , 0x51 , 0xD2 , 0xB9 , 0x79 , 0xA4 , 0x4F , 0x02 , 0x02 , 0x07 , 0xD0 , 0x04 , 0x82 , 0x02 , 0x90 , 0xA2 , 0xBA , 0x47 , 0x19 , 0xE3 , 0x35 , 0x0B , 0xA1 , 0x71 , 0x60 , 0x65 , 0x1A , 0xB0 , 0x94 , 0xF2 , 0xF1 , 0xDE , 0x8E , 0xA4 , 0x59 , 0xF5 , 0x07 , 0x1B , 0xDF , 0xD2 , 0x9C , 0xF4 , 0xA2 , 0x5C , 0x8C , 0xA7 , 0x3F , 0x7E , 0xD3 , 0x93 , 0x1B , 0x87 , 0xA8 , 0x1A , 0xA0 , 0xDD , 0xF4 , 0x0B , 0x76 , 0x30 , 0xDF , 0xE5 , 0x56 , 0xAE , 0x26 , 0xF7 , 0x6C , 0x72 , 0x0A , 0x41 , 0x0E , 0xD7 , 0x42 , 0xC3 , 0x99 , 0x8D , 0x8B , 0xC2 , 0x18 , 0xBE , 0x30 , 0x12 , 0xED , 0x20 , 0xD3 , 0xB3 , 0xAF , 0xCD , 0xBE , 0x62 , 0xED , 0x6F , 0x55 , 0x79 , 0x33 , 0xCD ,
0x8F , 0x2C , 0x1E , 0x1C , 0xB8 , 0xDC , 0x1C , 0x4D , 0x45 , 0xCE , 0xE6 , 0x1E , 0x81 , 0x46 , 0xC1 , 0x93 , 0x1B , 0x7A , 0x41 , 0x19 , 0x82 , 0xED , 0xBF , 0x8F , 0x0F , 0xB1 , 0x39 , 0x50 , 0x58 , 0xA2 , 0xD2 , 0xFB , 0xE6 , 0x9A , 0x86 , 0x68 , 0x2C , 0x58 , 0xF9 , 0xB3 , 0x7C , 0xAC , 0xCC , 0x02 , 0xB0 , 0x70 , 0xC2 , 0x5D , 0x0B , 0x7F , 0xC0 , 0xA7 , 0x60 , 0x66 , 0x41 , 0xBA , 0x4F , 0xE6 , 0x89 , 0x16 , 0x5C , 0x0D , 0x4B , 0x4F , 0x43 , 0xF5 , 0xFD , 0x5E , 0x22 , 0x93 , 0x4B , 0x34 , 0xC3 , 0xEC , 0xA9 , 0xCF , 0x92 , 0x6F , 0x0E , 0xD6 , 0x01 , 0x21 , 0x48 , 0xF4 , 0x35 , 0xF2 , 0xA0 , 0xF9 , 0x84 , 0xD4 , 0x30 , 0xE0 , 0x69 , 0xD2 , 0xB2 , 0x03 , 0x3F , 0x3A , 0x5E , 0xFA ,
0x06 , 0xA2 , 0x30 , 0x1B , 0x93 , 0xAC , 0x0D , 0x5D , 0x9E , 0xFA , 0x49 , 0x29 , 0x82 , 0xE9 , 0x91 , 0x40 , 0x87 , 0x52 , 0xF1 , 0xED , 0xC3 , 0x00 , 0x1F , 0x00 , 0x54 , 0x9F , 0xB6 , 0xC7 , 0xDE , 0xF4 , 0xFB , 0xCF , 0xE7 , 0x9B , 0x40 , 0x8B , 0x51 , 0xEF , 0xFD , 0x33 , 0x1C , 0xD9 , 0x64 , 0x19 , 0x45 , 0x89 , 0x6C , 0x46 , 0xA1 , 0x9B , 0xA9 , 0x93 , 0xFE , 0xF8 , 0x4D , 0x20 , 0x63 , 0x34 , 0xFB , 0x1B , 0xB9 , 0xC8 , 0xFE , 0xD4 , 0x63 , 0xD1 , 0x03 , 0x57 , 0x63 , 0xC2 , 0xEA , 0xC2 , 0xA7 , 0x9A , 0x03 , 0xEB , 0xC0 , 0xF1 , 0xAF , 0xB8 , 0xD7 , 0x37 , 0x76 , 0x0C , 0xD3 , 0x98 , 0x21 , 0xD2 , 0x84 , 0x11 , 0xD6 , 0xBF , 0x29 , 0xC8 , 0x03 , 0xA1 , 0xAA , 0xCB , 0xA6 , 0x51 ,
0xF5 , 0xBB , 0xA8 , 0xFA , 0x43 , 0xFB , 0x59 , 0x51 , 0x41 , 0x1D , 0x2F , 0xF3 , 0xFC , 0xF7 , 0xA2 , 0x4C , 0xEC , 0x47 , 0x20 , 0x14 , 0xF3 , 0x46 , 0x8B , 0x41 , 0x5E , 0x65 , 0x2F , 0x18 , 0x99 , 0x07 , 0x23 , 0x6B , 0xEA , 0x55 , 0x16 , 0xE3 , 0xA8 , 0xB7 , 0x31 , 0x5C , 0x23 , 0xF3 , 0xD4 , 0x1E , 0xC3 , 0xB6 , 0xF8 , 0x53 , 0x26 , 0x7D , 0x42 , 0x2D , 0x3E , 0xC2 , 0xAE , 0x9F , 0x01 , 0x83 , 0x90 , 0x0D , 0xA6 , 0xB0 , 0x2D , 0xBD , 0x86 , 0x31 , 0x5A , 0x15 , 0x07 , 0x6F , 0xA6 , 0xFC , 0x35 , 0x30 , 0x6A , 0xEF , 0xF6 , 0xC1 , 0xEB , 0x18 , 0x01 , 0xE9 , 0xE7 , 0xAA , 0x87 , 0x54 , 0x4C , 0xAE , 0x98 , 0x67 , 0xDB , 0xDF , 0xFF , 0x4E , 0xA5 , 0xA9 , 0xA4 , 0x05 , 0x11 , 0xE9 ,
0xA4 , 0x1D , 0xB2 , 0xB1 , 0xD3 , 0xF6 , 0x77 , 0xB6 , 0xB5 , 0x01 , 0xC3 , 0x3B , 0xAF , 0x6A , 0xA1 , 0x60 , 0xB9 , 0x14 , 0x62 , 0x5E , 0x2D , 0x70 , 0x25 , 0xDF , 0xD3 , 0x21 , 0x02 , 0x3C , 0xD7 , 0xF1 , 0xF6 , 0x0E , 0xD9 , 0x4D , 0x59 , 0x1A , 0x41 , 0x2E , 0x82 , 0x28 , 0x5C , 0x12 , 0x26 , 0x68 , 0x77 , 0xE0 , 0x46 , 0xC1 , 0x0B , 0x9F , 0x15 , 0x75 , 0x87 , 0xD7 , 0x87 , 0x3A , 0xF6 , 0xB4 , 0x57 , 0x4B , 0x2C , 0x66 , 0xD2 , 0xCF , 0x47 , 0x28 , 0x31 , 0x8A , 0xDF , 0x54 , 0xC5 , 0x16 , 0x58 , 0x23 , 0x4F , 0x9E , 0x8D , 0x31 , 0xFC , 0x9C , 0xF5 , 0x07 , 0x03 , 0x0F , 0x63 , 0xBD , 0xD7 , 0x38 , 0x65 , 0x85 , 0x7B , 0xB1 , 0xBC , 0x19 , 0x3C , 0xEF , 0x41 , 0x55 , 0xA6 , 0x0D ,
0x50 , 0x61 , 0xB6 , 0xA5 , 0x9F , 0xF8 , 0xD6 , 0x15 , 0xBF , 0x40 , 0x44 , 0x2E , 0xD5 , 0x12 , 0xAA , 0x29 , 0xFE , 0x8A , 0x27 , 0x68 , 0xC4 , 0x83 , 0xD5 , 0x75 , 0x78 , 0xF7 , 0x38 , 0x8F , 0x0D , 0xD3 , 0xC9 , 0x25 , 0xAC , 0xF5 , 0x3E , 0x7B , 0x11 , 0xCB , 0x45 , 0xE0 , 0x4E , 0x6A , 0x99 , 0xD9 , 0x24 , 0xBD , 0x68 , 0x59 , 0x02 , 0xF9 , 0x0D , 0x32 , 0x99 , 0x87 , 0xEA , 0xFA , 0x4D , 0x73 , 0x72 , 0x44 , 0x10 , 0x1B , 0xEC , 0x38 , 0x04 , 0xD4 , 0xCD , 0x13 , 0x98 , 0x5F , 0x0A , 0x3F , 0x76 , 0x80 , 0x1E , 0x30 , 0x89 , 0xFF , 0x5D , 0x03 , 0x38 , 0x1C , 0x25 , 0x9E , 0x79 , 0x0A , 0xA8 , 0x08 , 0xAE , 0xAE , 0x28 , 0x7A , 0x74 , 0x68 , 0x60 , 0x13 , 0x97 , 0x48 , 0x4C , 0xFA ,
0xB3 , 0x63 , 0x3A , 0x66 , 0xD0 , 0xAB , 0x42 , 0x35 , 0x9B , 0xE6 , 0x9D , 0x5D , 0xED , 0x05 , 0xC5 , 0x29 , 0x11 , 0xB2 , 0x36 , 0x21 , 0x21 , 0x86 , 0x16 , 0xFD , 0x81 , 0xF6 , 0x5D , 0x26 , 0x75 , 0xB2 , 0x74 , 0xD4 , 0xF6 , 0x59 , 0x62 , 0x7B , 0xC2 , 0x6D , 0xB9 , 0xF0 , 0xA6 , 0x5A , 0x47 , 0xEC , 0x55 , 0xEA , 0x35 , 0xE0 , 0xCE , 0x68 , 0x63 , 0x88 , 0x2D , 0x9A , 0xCC , 0xDC , 0x0E , 0x02 , 0xAB , 0x69 , 0xFE , 0x22 , 0xEC , 0xF5 , 0xED , 0x36 , 0x7B , 0xE9 , 0xC2 , 0xA6 , 0xBF , 0x0C , 0x1C , 0x19 , 0xE7 , 0x31 , 0x81 , 0xA8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x02 , 0x31 , 0x00 , 0x30 , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 ,
0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x15 , 0x31 , 0x06 , 0x04 , 0x04 , 0x01 , 0x00 , 0x00 , 0x00 , 0x30 , 0x17 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x14 , 0x31 , 0x0A , 0x1E , 0x08 , 0x00 , 0x4D , 0x00 , 0x6F , 0x00 , 0x6E , 0x00 , 0x6F , 0x30 , 0x69 , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x01 , 0x31 , 0x5C , 0x1E , 0x5A , 0x00 , 0x4D , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x73 , 0x00 , 0x6F , 0x00 , 0x66 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x41 , 0x00 , 0x20 , 0x00 , 0x53 , 0x00 , 0x43 , 0x00 , 0x68 , 0x00 , 0x61 , 0x00 , 0x6E , 0x00 , 0x6E , 0x00 , 0x65 , 0x00 , 0x6C ,
0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x72 , 0x00 , 0x79 , 0x00 , 0x70 , 0x00 , 0x74 , 0x00 , 0x6F , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x20 , 0x00 , 0x50 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x76 , 0x00 , 0x69 , 0x00 , 0x64 , 0x00 , 0x65 , 0x00 , 0x72 , 0x30 , 0x82 , 0x02 , 0xB7 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x06 , 0xA0 , 0x82 , 0x02 , 0xA8 , 0x30 , 0x82 , 0x02 , 0xA4 , 0x02 , 0x01 , 0x00 , 0x30 , 0x82 , 0x02 , 0x9D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 ,
0x06 , 0x30 , 0x0E , 0x04 , 0x08 , 0x02 , 0x77 , 0x79 , 0xCA , 0x9F , 0x4E , 0x06 , 0xE3 , 0x02 , 0x02 , 0x07 , 0xD0 , 0x80 , 0x82 , 0x02 , 0x70 , 0x82 , 0xE1 , 0x66 , 0x48 , 0xDB , 0x24 , 0x9E , 0x33 , 0x70 , 0x43 , 0xFB , 0x6D , 0xD0 , 0x47 , 0x90 , 0xF6 , 0xEF , 0xAD , 0x61 , 0x28 , 0xBF , 0x71 , 0x9F , 0x63 , 0x2A , 0x69 , 0x6C , 0x04 , 0x14 , 0x34 , 0x8A , 0x92 , 0xB6 , 0x7E , 0x67 , 0x50 , 0x82 , 0x6D , 0x16 , 0x8B , 0xB2 , 0x18 , 0xA4 , 0x74 , 0x7C , 0xC4 , 0x97 , 0x50 , 0xCE , 0x0B , 0xDB , 0x76 , 0xFF , 0xCB , 0x8F , 0x21 , 0x4F , 0x50 , 0x52 , 0x41 , 0x0C , 0xA0 , 0x98 , 0xFB , 0xA8 , 0x7F , 0xC0 , 0xB4 , 0xE3 , 0x81 , 0x37 , 0x12 , 0x55 , 0x53 , 0x5C , 0x3E , 0x95 , 0x53 , 0x40 ,
0x39 , 0xAB , 0xD6 , 0x5A , 0xBA , 0xB5 , 0x87 , 0xCF , 0x60 , 0x2A , 0x07 , 0x2E , 0xAC , 0x56 , 0xC0 , 0xD1 , 0x75 , 0xE2 , 0xFC , 0xE3 , 0x24 , 0xDA , 0x32 , 0xED , 0x11 , 0xC9 , 0x53 , 0xED , 0x54 , 0xB4 , 0xE4 , 0x36 , 0x1F , 0x72 , 0x8B , 0xA2 , 0xB1 , 0x8D , 0x4B , 0x4C , 0x3F , 0x75 , 0x4C , 0x2F , 0xE9 , 0x78 , 0x97 , 0xFC , 0xBA , 0x77 , 0x68 , 0xE4 , 0x65 , 0x22 , 0x67 , 0xE5 , 0x4D , 0xE9 , 0x6A , 0x63 , 0x0C , 0x89 , 0x91 , 0x12 , 0xD5 , 0x3B , 0x0D , 0xF4 , 0x16 , 0xA7 , 0xE8 , 0x57 , 0xA8 , 0x88 , 0xF4 , 0x48 , 0x95 , 0x71 , 0x91 , 0xAC , 0x69 , 0x67 , 0xEB , 0xF0 , 0xF3 , 0x8C , 0xFB , 0x35 , 0x4F , 0x0F , 0xAD , 0x8B , 0xFE , 0x8A , 0xCE , 0xE2 , 0x75 , 0xDF , 0x63 , 0x38 ,
0xB2 , 0xD0 , 0xAD , 0x71 , 0x5F , 0x97 , 0x8B , 0x0C , 0xA7 , 0x43 , 0xC6 , 0x62 , 0xC0 , 0x60 , 0x0F , 0xE6 , 0x6A , 0xE9 , 0x23 , 0x47 , 0xD2 , 0xC4 , 0x1D , 0x90 , 0x75 , 0x17 , 0x14 , 0xF3 , 0x1B , 0xB9 , 0x3A , 0x11 , 0xA6 , 0x04 , 0x52 , 0x2B , 0x6B , 0xCB , 0x01 , 0xE4 , 0x62 , 0xB8 , 0xD7 , 0xE3 , 0xB7 , 0x1B , 0x6B , 0xF3 , 0x20 , 0x37 , 0x24 , 0x87 , 0xFB , 0xF0 , 0x46 , 0x87 , 0xC4 , 0xAB , 0x88 , 0xAC , 0x53 , 0x37 , 0xD8 , 0x87 , 0x0E , 0xBB , 0x39 , 0x91 , 0x1A , 0x8C , 0x90 , 0xF8 , 0xB4 , 0x2A , 0xE2 , 0xA9 , 0x25 , 0xAD , 0xE9 , 0x8A , 0x0E , 0xEA , 0x4B , 0x49 , 0xC2 , 0xE9 , 0x5B , 0x5A , 0x3C , 0xAC , 0xE2 , 0xE9 , 0x3B , 0x27 , 0xE6 , 0x60 , 0x00 , 0x49 , 0x62 , 0xAF ,
0xED , 0x41 , 0x7A , 0x8E , 0x95 , 0xD2 , 0xC2 , 0x27 , 0x04 , 0x9F , 0xE9 , 0xEE , 0x50 , 0xB5 , 0xDF , 0x17 , 0x59 , 0x46 , 0x83 , 0xED , 0xB7 , 0xFB , 0xCE , 0xE4 , 0x35 , 0x6E , 0x85 , 0x66 , 0xA4 , 0xF9 , 0x11 , 0xB9 , 0x33 , 0xAE , 0x84 , 0x9B , 0x73 , 0xCC , 0x5E , 0x1A , 0xBE , 0xC6 , 0xF6 , 0x71 , 0x41 , 0x07 , 0x3F , 0xAF , 0x24 , 0xA7 , 0x37 , 0x12 , 0x65 , 0x30 , 0x87 , 0x23 , 0xAB , 0x6D , 0xB1 , 0xF1 , 0xE4 , 0x71 , 0xEA , 0x87 , 0xF4 , 0x9E , 0xC9 , 0xCA , 0x4E , 0x34 , 0xA4 , 0x60 , 0x80 , 0xE5 , 0x5E , 0x4A , 0xDF , 0x2B , 0xA5 , 0x12 , 0x5E , 0x7A , 0x76 , 0x7E , 0x82 , 0x8B , 0xF7 , 0x55 , 0x72 , 0x79 , 0xDC , 0x2A , 0x4C , 0xC1 , 0x2B , 0xCA , 0xA5 , 0x9A , 0x2D , 0x98 ,
0x6C , 0x51 , 0x00 , 0x95 , 0x1F , 0x4C , 0x04 , 0x6A , 0x44 , 0x59 , 0x7C , 0x5F , 0xE4 , 0xA8 , 0xAF , 0x66 , 0x32 , 0x29 , 0x1D , 0x07 , 0xD4 , 0xAE , 0xC1 , 0x9E , 0x45 , 0x35 , 0x6D , 0xE9 , 0x7A , 0x92 , 0x22 , 0x4B , 0x0D , 0x4A , 0xA6 , 0x53 , 0x17 , 0x31 , 0x76 , 0x1F , 0x60 , 0x32 , 0x84 , 0x18 , 0x6B , 0x90 , 0xD3 , 0x77 , 0x9B , 0xF1 , 0xF0 , 0x95 , 0x4D , 0x23 , 0x95 , 0x90 , 0xF5 , 0xDD , 0xFA , 0xC1 , 0x3F , 0xB3 , 0xDD , 0x5E , 0x54 , 0xFC , 0x03 , 0xFD , 0xDA , 0xC8 , 0xEF , 0x78 , 0x2E , 0x5F , 0xFF , 0x1D , 0xDB , 0xB7 , 0xF8 , 0xBF , 0x1A , 0x2A , 0x98 , 0xD0 , 0x06 , 0x04 , 0x9B , 0xE0 , 0xFD , 0xFB , 0xA2 , 0x2E , 0x83 , 0x67 , 0x38 , 0x77 , 0x9E , 0x2D , 0x7C , 0xB4 ,
0x95 , 0xF2 , 0x5F , 0xF8 , 0x3B , 0x62 , 0x41 , 0x9C , 0xAA , 0xAA , 0xAB , 0xEB , 0x46 , 0x78 , 0x5D , 0xF6 , 0x88 , 0x6C , 0xED , 0x0F , 0x76 , 0x3B , 0xD6 , 0xFD , 0x13 , 0xCE , 0x68 , 0xDE , 0x0A , 0x33 , 0xA6 , 0x68 , 0xB5 , 0xCA , 0x64 , 0x90 , 0x16 , 0x00 , 0xCE , 0x97 , 0xC5 , 0xED , 0x57 , 0xE1 , 0x1D , 0xF2 , 0xD3 , 0xDC , 0xA7 , 0x1B , 0xC3 , 0xEE , 0x07 , 0xBE , 0xE8 , 0xC3 , 0xE5 , 0x77 , 0x10 , 0x00 , 0x48 , 0x7D , 0x4F , 0xEC , 0x3B , 0xEC , 0xEF , 0x0F , 0x86 , 0xD6 , 0x5E , 0xF0 , 0x32 , 0xE4 , 0x3D , 0x4E , 0xB5 , 0x48 , 0xA7 , 0x0E , 0x2C , 0xCA , 0x1C , 0x9E , 0xDA , 0x6F , 0xDD , 0x53 , 0x12 , 0x0A , 0xBF , 0x65 , 0x61 , 0xDD , 0xB3 , 0xAE , 0x3E , 0xAA , 0x59 , 0x8F ,
0xFC , 0xCD , 0x0E , 0xD0 , 0x7D , 0xB0 , 0x49 , 0x5C , 0x85 , 0xF4 , 0xEF , 0x77 , 0xDA , 0x39 , 0x9E , 0x21 , 0xCE , 0x9B , 0x26 , 0x81 , 0x6C , 0x13 , 0x09 , 0x54 , 0xBF , 0x2D , 0x20 , 0xF6 , 0x57 , 0x74 , 0x94 , 0xE0 , 0x99 , 0x81 , 0x08 , 0x9E , 0x72 , 0xDB , 0x95 , 0xAC , 0xB3 , 0x4E , 0x08 , 0x66 , 0x7C , 0x30 , 0x3B , 0x30 , 0x1F , 0x30 , 0x07 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1A , 0x04 , 0x14 , 0x08 , 0x95 , 0xCA , 0x53 , 0x3F , 0xBA , 0xFC , 0x96 , 0xB1 , 0x48 , 0x21 , 0x06 , 0xA4 , 0x9E , 0x5A , 0xD6 , 0x23 , 0x60 , 0x4F , 0x3C , 0x04 , 0x14 , 0x24 , 0x98 , 0x3B , 0xFC , 0x6E , 0x4B , 0x07 , 0xB7 , 0xFA , 0xC1 , 0xFE , 0xD3 , 0x15 , 0xBB , 0x7B , 0x70 , 0xA7 , 0x97 ,
0xBC , 0x0A , 0x02 , 0x02 , 0x07 , 0xD0 } ;
static public byte [ ] farscape_strong_path_pfx = { 0x30 , 0x82 , 0x0B , 0x57 , 0x02 , 0x01 , 0x03 , 0x30 , 0x82 , 0x0B , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x0B , 0x04 , 0x04 , 0x82 , 0x0B , 0x00 , 0x30 , 0x82 , 0x0A , 0xFC , 0x30 , 0x82 , 0x03 , 0x8D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x03 , 0x7E , 0x04 , 0x82 , 0x03 , 0x7A , 0x30 , 0x82 , 0x03 , 0x76 , 0x30 , 0x82 , 0x03 , 0x72 , 0x06 , 0x0B , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x0A , 0x01 , 0x02 , 0xA0 , 0x82 , 0x02 , 0xB6 , 0x30 , 0x82 , 0x02 , 0xB2 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 , 0x03 , 0x30 ,
0x0E , 0x04 , 0x08 , 0x32 , 0xC5 , 0xBA , 0x13 , 0xE8 , 0x8D , 0xE0 , 0x25 , 0x02 , 0x02 , 0x07 , 0xD0 , 0x04 , 0x82 , 0x02 , 0x90 , 0x3C , 0xD2 , 0x8F , 0x0F , 0x52 , 0x6A , 0x97 , 0xA2 , 0x5D , 0xDC , 0xFC , 0x82 , 0x3D , 0x95 , 0xE1 , 0x19 , 0x02 , 0x8E , 0x64 , 0xC5 , 0x7C , 0x64 , 0xFF , 0xA3 , 0x4E , 0x00 , 0x5B , 0xC0 , 0x3C , 0x7C , 0x53 , 0xEA , 0xEA , 0xF9 , 0xC8 , 0xF6 , 0xD5 , 0xDF , 0x62 , 0x94 , 0x39 , 0xA8 , 0xF9 , 0xAF , 0x46 , 0xAE , 0x40 , 0xF8 , 0xBE , 0x5E , 0xF5 , 0xAB , 0x7A , 0xB2 , 0x5B , 0x9F , 0x2D , 0x6E , 0xBA , 0xF9 , 0xBE , 0x99 , 0x32 , 0x4C , 0xBF , 0xC0 , 0x2C , 0xFB , 0xC6 , 0xBD , 0x24 , 0x6E , 0x1B , 0x69 , 0xF8 , 0xB8 , 0xA2 , 0x3F , 0x0F , 0x7F , 0x03 ,
0x60 , 0xC6 , 0xA8 , 0x10 , 0x80 , 0x7A , 0xEA , 0x16 , 0xE2 , 0x2E , 0xBA , 0x60 , 0x0A , 0x76 , 0x9A , 0x60 , 0x5A , 0x50 , 0x59 , 0x06 , 0xD6 , 0x76 , 0x2C , 0x73 , 0x7B , 0x50 , 0x6F , 0x55 , 0x6E , 0x86 , 0xED , 0xC5 , 0x35 , 0x2C , 0xEF , 0x9F , 0xC8 , 0x81 , 0xE5 , 0xFF , 0xBE , 0xDD , 0x48 , 0x20 , 0x35 , 0x1B , 0x9B , 0xCF , 0x77 , 0x13 , 0x21 , 0x9D , 0xD6 , 0x19 , 0xFC , 0x08 , 0x94 , 0xB6 , 0xB3 , 0xF5 , 0x03 , 0xAE , 0x8F , 0x10 , 0x14 , 0x9C , 0x7E , 0x86 , 0x43 , 0x1D , 0x3D , 0x9D , 0xEA , 0x3A , 0xDD , 0x62 , 0x53 , 0xFE , 0x92 , 0x1F , 0xD1 , 0x9B , 0x0D , 0x18 , 0x0E , 0xCD , 0x5F , 0xF7 , 0xE9 , 0x92 , 0x5F , 0xFE , 0xF2 , 0x14 , 0x20 , 0x46 , 0x9C , 0xED , 0x93 , 0x0B ,
0x65 , 0xE3 , 0xDE , 0x41 , 0x53 , 0x55 , 0x83 , 0xEE , 0x83 , 0x59 , 0x61 , 0x74 , 0x96 , 0x67 , 0xDB , 0x26 , 0x22 , 0x0B , 0x19 , 0x01 , 0x53 , 0xF6 , 0xDC , 0x13 , 0xD9 , 0xF5 , 0xCD , 0xB3 , 0x98 , 0xA0 , 0x52 , 0x65 , 0x69 , 0x7B , 0xED , 0x76 , 0xED , 0xFA , 0xE0 , 0xAD , 0x2F , 0xDC , 0xCA , 0x0D , 0xBA , 0x25 , 0xBD , 0x13 , 0x5D , 0xCA , 0xFC , 0x4A , 0x22 , 0xD9 , 0x1D , 0xAC , 0x7F , 0x25 , 0x35 , 0x0D , 0xF7 , 0xB0 , 0xD9 , 0x36 , 0x9F , 0x4F , 0x0D , 0x7C , 0x92 , 0x93 , 0xD0 , 0xA5 , 0x3F , 0x64 , 0xC1 , 0x26 , 0x41 , 0x73 , 0xDC , 0x3E , 0x01 , 0xCA , 0xB0 , 0xD8 , 0xF6 , 0x6D , 0x83 , 0x08 , 0xA3 , 0x3D , 0xCE , 0xEF , 0x29 , 0x6B , 0x25 , 0x3D , 0x65 , 0xD9 , 0xB0 , 0xA3 ,
0xA4 , 0xDC , 0xC8 , 0x21 , 0xDF , 0x5E , 0xE8 , 0x5B , 0x5D , 0xCF , 0x41 , 0x81 , 0x28 , 0xEE , 0x80 , 0xDF , 0x87 , 0x0B , 0x06 , 0x09 , 0x46 , 0x61 , 0xDC , 0x99 , 0xF8 , 0xC6 , 0xD7 , 0xA8 , 0x4C , 0x59 , 0x37 , 0xB3 , 0x54 , 0x82 , 0xE7 , 0x4F , 0x36 , 0x5D , 0x58 , 0x8B , 0x26 , 0xE8 , 0xF7 , 0x76 , 0x87 , 0x3A , 0x43 , 0x61 , 0x8B , 0x93 , 0xAD , 0xDE , 0x35 , 0xED , 0xC5 , 0x5B , 0xEC , 0x49 , 0x9B , 0xA3 , 0x5A , 0xC7 , 0x94 , 0x50 , 0x0E , 0x06 , 0x2F , 0xC2 , 0xF2 , 0x28 , 0x71 , 0x52 , 0xE1 , 0x4B , 0x24 , 0x97 , 0x62 , 0x2A , 0x28 , 0x25 , 0xC5 , 0x43 , 0x35 , 0xF1 , 0x9C , 0xDF , 0xFD , 0xAD , 0x7C , 0x7D , 0xED , 0x6F , 0xCC , 0x96 , 0xBF , 0x93 , 0x97 , 0xBA , 0x2C , 0x44 ,
0xB7 , 0xCD , 0x9C , 0x6E , 0x0D , 0x29 , 0x7C , 0x19 , 0xC9 , 0xA0 , 0x40 , 0x94 , 0x35 , 0x66 , 0xB6 , 0x4C , 0xFB , 0xA8 , 0x91 , 0xC1 , 0x89 , 0x31 , 0x6E , 0x76 , 0x03 , 0x94 , 0x65 , 0xF1 , 0xA3 , 0x2A , 0x1A , 0xD6 , 0x99 , 0xB9 , 0xFF , 0x2E , 0xCF , 0xC3 , 0xE7 , 0x80 , 0x28 , 0x7B , 0xD5 , 0x18 , 0xA6 , 0xD1 , 0xEC , 0x1F , 0x28 , 0x65 , 0xB5 , 0xB7 , 0x32 , 0xC9 , 0x3A , 0x22 , 0x56 , 0x87 , 0x61 , 0x5C , 0xB0 , 0xEC , 0x87 , 0xA6 , 0xA5 , 0x23 , 0x14 , 0xBA , 0x0E , 0xD1 , 0xE7 , 0xA2 , 0x74 , 0x94 , 0xC9 , 0x74 , 0x65 , 0x9C , 0x5D , 0xAF , 0x5B , 0xDD , 0x3A , 0x8B , 0x2E , 0x44 , 0xDF , 0x8C , 0x7F , 0x10 , 0x83 , 0x3C , 0xFC , 0x2C , 0x48 , 0x4D , 0xF0 , 0x20 , 0xB8 , 0xF8 ,
0x63 , 0x37 , 0x83 , 0xB1 , 0xDB , 0xA3 , 0x51 , 0x75 , 0xF3 , 0xA6 , 0x77 , 0xAD , 0x4A , 0xAF , 0xF6 , 0x0F , 0x57 , 0xAB , 0x18 , 0x68 , 0xD8 , 0x42 , 0xB1 , 0xC3 , 0x4D , 0xE9 , 0xAA , 0x1A , 0xD5 , 0xB9 , 0xBD , 0xEB , 0xDB , 0x5B , 0x04 , 0x95 , 0xC2 , 0x4E , 0xE2 , 0x74 , 0x99 , 0x6E , 0x42 , 0xF0 , 0xCA , 0xC5 , 0xA1 , 0x71 , 0x90 , 0xFF , 0xF7 , 0x08 , 0x1E , 0xDA , 0xD7 , 0x53 , 0x33 , 0x12 , 0x0A , 0xC9 , 0x10 , 0x04 , 0x60 , 0xDA , 0xC2 , 0xC8 , 0x73 , 0x9C , 0x10 , 0x03 , 0x20 , 0x5A , 0xC2 , 0xC5 , 0x2E , 0x83 , 0x88 , 0x72 , 0x25 , 0xA3 , 0x98 , 0xC0 , 0x35 , 0x56 , 0x16 , 0x7B , 0x8F , 0x17 , 0x92 , 0x72 , 0xF8 , 0x8A , 0x4C , 0x65 , 0x79 , 0x7A , 0xA5 , 0xAF , 0xCB , 0x03 ,
0x0A , 0xAA , 0xBC , 0xBB , 0xF8 , 0x30 , 0x16 , 0xBA , 0x1D , 0x42 , 0x6F , 0xF8 , 0xAA , 0xC4 , 0x3A , 0x89 , 0x29 , 0x22 , 0x7F , 0x22 , 0x1F , 0x87 , 0xFE , 0x34 , 0x06 , 0x6C , 0x0E , 0x13 , 0xD0 , 0x43 , 0x43 , 0x59 , 0x4F , 0x59 , 0xAA , 0x2B , 0x1E , 0xDA , 0x96 , 0x06 , 0x38 , 0x3E , 0x18 , 0x97 , 0xCF , 0x1D , 0xFE , 0x43 , 0xA7 , 0x8C , 0xB1 , 0x0D , 0x40 , 0x9B , 0xC6 , 0xDD , 0x79 , 0x97 , 0xD0 , 0x0B , 0x67 , 0x0E , 0x2C , 0x2D , 0xBE , 0x4F , 0x9F , 0xBC , 0x6D , 0xD1 , 0xAC , 0xA3 , 0xB6 , 0x38 , 0x53 , 0x31 , 0x81 , 0xA8 , 0x30 , 0x0D , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x02 , 0x31 , 0x00 , 0x30 , 0x13 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 ,
0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x15 , 0x31 , 0x06 , 0x04 , 0x04 , 0x01 , 0x00 , 0x00 , 0x00 , 0x30 , 0x17 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x09 , 0x14 , 0x31 , 0x0A , 0x1E , 0x08 , 0x00 , 0x4D , 0x00 , 0x6F , 0x00 , 0x6E , 0x00 , 0x6F , 0x30 , 0x69 , 0x06 , 0x09 , 0x2B , 0x06 , 0x01 , 0x04 , 0x01 , 0x82 , 0x37 , 0x11 , 0x01 , 0x31 , 0x5C , 0x1E , 0x5A , 0x00 , 0x4D , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x73 , 0x00 , 0x6F , 0x00 , 0x66 , 0x00 , 0x74 , 0x00 , 0x20 , 0x00 , 0x52 , 0x00 , 0x53 , 0x00 , 0x41 , 0x00 , 0x20 , 0x00 , 0x53 , 0x00 , 0x43 , 0x00 , 0x68 , 0x00 , 0x61 , 0x00 , 0x6E , 0x00 , 0x6E , 0x00 , 0x65 , 0x00 , 0x6C ,
0x00 , 0x20 , 0x00 , 0x43 , 0x00 , 0x72 , 0x00 , 0x79 , 0x00 , 0x70 , 0x00 , 0x74 , 0x00 , 0x6F , 0x00 , 0x67 , 0x00 , 0x72 , 0x00 , 0x61 , 0x00 , 0x70 , 0x00 , 0x68 , 0x00 , 0x69 , 0x00 , 0x63 , 0x00 , 0x20 , 0x00 , 0x50 , 0x00 , 0x72 , 0x00 , 0x6F , 0x00 , 0x76 , 0x00 , 0x69 , 0x00 , 0x64 , 0x00 , 0x65 , 0x00 , 0x72 , 0x30 , 0x82 , 0x07 , 0x67 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x06 , 0xA0 , 0x82 , 0x07 , 0x58 , 0x30 , 0x82 , 0x07 , 0x54 , 0x02 , 0x01 , 0x00 , 0x30 , 0x82 , 0x07 , 0x4D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0x30 , 0x1C , 0x06 , 0x0A , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x0C , 0x01 ,
0x06 , 0x30 , 0x0E , 0x04 , 0x08 , 0x4E , 0xEC , 0x16 , 0x2C , 0x55 , 0x4B , 0x1B , 0x3E , 0x02 , 0x02 , 0x07 , 0xD0 , 0x80 , 0x82 , 0x07 , 0x20 , 0x8A , 0xE2 , 0x16 , 0x78 , 0xEB , 0x9F , 0xF6 , 0x25 , 0x67 , 0x15 , 0x21 , 0x01 , 0x86 , 0xC3 , 0x2E , 0x27 , 0x02 , 0xF4 , 0x0B , 0x98 , 0xD8 , 0xF2 , 0x44 , 0xBB , 0x1A , 0xD4 , 0xF2 , 0xA6 , 0xB8 , 0x6B , 0x7B , 0x05 , 0xD4 , 0x57 , 0x3C , 0x77 , 0xD5 , 0x0C , 0xDC , 0x6B , 0x1A , 0xC4 , 0xEA , 0x32 , 0xFC , 0x28 , 0x48 , 0x67 , 0xA2 , 0xC2 , 0x20 , 0xCA , 0x58 , 0x95 , 0x45 , 0xAA , 0xE1 , 0x69 , 0x4B , 0x7D , 0xFD , 0x33 , 0x43 , 0xF3 , 0xD2 , 0xDF , 0xEA , 0xF3 , 0xAD , 0x7D , 0x8F , 0x05 , 0x5A , 0xAB , 0x7B , 0x6E , 0x6C , 0x6F , 0xD7 ,
0x49 , 0xFC , 0x16 , 0x1F , 0x30 , 0x5D , 0x68 , 0xB9 , 0x78 , 0x65 , 0x12 , 0x7C , 0x16 , 0x14 , 0x95 , 0x3C , 0xA3 , 0xE9 , 0xEF , 0x56 , 0x72 , 0x07 , 0x9B , 0x39 , 0xA7 , 0xA9 , 0x52 , 0x68 , 0x47 , 0x18 , 0xED , 0x83 , 0xC5 , 0xFC , 0x4F , 0xC8 , 0xFF , 0x86 , 0xA5 , 0x85 , 0xBF , 0xBF , 0x38 , 0xBA , 0x88 , 0xA5 , 0x91 , 0x85 , 0xE8 , 0x68 , 0x04 , 0x71 , 0x89 , 0x8A , 0x0E , 0x33 , 0x5A , 0x57 , 0x65 , 0xCC , 0x3A , 0x1D , 0xE8 , 0x29 , 0x1F , 0xF3 , 0x5E , 0xAE , 0xBE , 0x94 , 0x60 , 0x79 , 0x54 , 0x40 , 0xF6 , 0x15 , 0x32 , 0xD6 , 0x6C , 0xEC , 0x8D , 0x1A , 0x63 , 0x98 , 0x69 , 0x6F , 0x93 , 0xB2 , 0x6C , 0x3E , 0xF3 , 0x35 , 0x42 , 0x08 , 0x2E , 0x7E , 0x44 , 0x73 , 0xC6 , 0xE8 ,
0x74 , 0x07 , 0xBF , 0xD3 , 0x75 , 0xDE , 0x87 , 0x93 , 0x8D , 0x4C , 0x3B , 0xB8 , 0x23 , 0x91 , 0x2C , 0x62 , 0x99 , 0xA8 , 0xD6 , 0xA6 , 0x05 , 0xB9 , 0xE9 , 0x8F , 0x9F , 0x86 , 0xD0 , 0xE0 , 0xF5 , 0xE6 , 0x1C , 0x92 , 0x8D , 0xC9 , 0x7A , 0xBA , 0xF8 , 0x05 , 0x7C , 0x6F , 0xFB , 0x7F , 0x62 , 0x4B , 0x8C , 0x9B , 0xC5 , 0xDB , 0x24 , 0xD0 , 0x7D , 0xC6 , 0xDF , 0xBB , 0x43 , 0xB8 , 0x31 , 0x3C , 0x52 , 0x69 , 0xC3 , 0xA9 , 0x4B , 0x6C , 0xA5 , 0x5D , 0xF0 , 0x25 , 0x90 , 0x9B , 0xD8 , 0xE4 , 0xC2 , 0x4C , 0x71 , 0x68 , 0x17 , 0x79 , 0x21 , 0xB7 , 0x14 , 0x56 , 0xC2 , 0x31 , 0xB5 , 0xEF , 0x4D , 0x86 , 0x83 , 0x24 , 0x78 , 0x01 , 0x6D , 0x41 , 0x19 , 0x5B , 0xD3 , 0x78 , 0xC0 , 0xE7 ,
0xF4 , 0xEE , 0x86 , 0xEC , 0x4D , 0x19 , 0xB4 , 0x2E , 0x65 , 0x4C , 0x47 , 0xFC , 0x7D , 0xDF , 0x56 , 0xE1 , 0xC3 , 0x65 , 0xF2 , 0x30 , 0xB5 , 0x13 , 0x93 , 0xAD , 0x31 , 0x56 , 0xF3 , 0x77 , 0x4D , 0x9B , 0x6A , 0xA6 , 0xCC , 0xF0 , 0x20 , 0x34 , 0x11 , 0xE7 , 0xBD , 0xB1 , 0xAD , 0xB9 , 0xCB , 0xF3 , 0x48 , 0x6B , 0xB9 , 0xF6 , 0xB1 , 0x7F , 0x9B , 0x61 , 0x4C , 0x09 , 0x05 , 0xC1 , 0x8D , 0xA7 , 0x2B , 0xF0 , 0xE5 , 0x6C , 0x7D , 0xEB , 0xE3 , 0x83 , 0x6B , 0xA0 , 0x77 , 0x98 , 0x6C , 0x5D , 0x59 , 0x5B , 0xE2 , 0x69 , 0xC6 , 0x97 , 0x15 , 0x60 , 0x7A , 0x69 , 0x7F , 0xC2 , 0xF6 , 0xF6 , 0xAD , 0x33 , 0xAE , 0x7D , 0x06 , 0xA1 , 0xF4 , 0x5B , 0xA4 , 0x17 , 0xC3 , 0xA5 , 0xB5 , 0xFA ,
0x60 , 0xD1 , 0x58 , 0x30 , 0x1F , 0x81 , 0x15 , 0x49 , 0x05 , 0x6D , 0x54 , 0xD8 , 0xE8 , 0x9E , 0xBF , 0x61 , 0xD2 , 0xD0 , 0x8A , 0x95 , 0xBD , 0x1C , 0x05 , 0x6B , 0x15 , 0xDC , 0x29 , 0x80 , 0xB1 , 0x91 , 0x66 , 0xCE , 0x57 , 0xCE , 0xFD , 0x5A , 0x3F , 0x18 , 0xB9 , 0x87 , 0x32 , 0x92 , 0x6E , 0xA3 , 0x42 , 0x20 , 0xC4 , 0x36 , 0xBD , 0x7E , 0xE2 , 0x38 , 0xF3 , 0xDD , 0x50 , 0x00 , 0x28 , 0x8C , 0x78 , 0x2C , 0x94 , 0xEC , 0x0F , 0xFE , 0xC2 , 0x6F , 0x4D , 0x09 , 0xC6 , 0xE0 , 0xCD , 0x50 , 0xC6 , 0x3B , 0x1D , 0x81 , 0x2C , 0xE5 , 0xEA , 0xF8 , 0x31 , 0x17 , 0xCC , 0x37 , 0x09 , 0xBC , 0x7F , 0x19 , 0x46 , 0x4D , 0x83 , 0x4A , 0xB6 , 0x6E , 0x02 , 0x10 , 0x03 , 0xAF , 0xEF , 0xE4 ,
0x02 , 0x4A , 0x11 , 0xC6 , 0x11 , 0xA6 , 0xFC , 0xC3 , 0x0E , 0x62 , 0xAB , 0x98 , 0x71 , 0x32 , 0x86 , 0xA6 , 0x22 , 0x1B , 0x5F , 0x2C , 0x18 , 0x78 , 0x0E , 0x21 , 0xA5 , 0x5C , 0xC4 , 0x3D , 0x06 , 0x9A , 0x1E , 0x03 , 0xAA , 0x7A , 0x49 , 0x04 , 0x0D , 0x82 , 0xAF , 0xDD , 0x02 , 0x70 , 0x2E , 0x33 , 0x10 , 0x6F , 0x6A , 0xBF , 0xE4 , 0x2F , 0xAA , 0x54 , 0x8A , 0x0F , 0xCC , 0x85 , 0xE9 , 0xD9 , 0x7E , 0x43 , 0xCF , 0xDC , 0x32 , 0x35 , 0xA8 , 0xEC , 0x87 , 0x3D , 0x08 , 0xB1 , 0x63 , 0xE3 , 0x48 , 0xDC , 0xB9 , 0xDB , 0x2C , 0xA6 , 0x9F , 0xB9 , 0x7D , 0x90 , 0xCA , 0xD1 , 0x03 , 0x76 , 0xE6 , 0x6D , 0xAD , 0x51 , 0x10 , 0xED , 0xA1 , 0x7E , 0x06 , 0x72 , 0xC2 , 0x12 , 0x93 , 0x7E ,
0x7A , 0xF0 , 0x84 , 0xFE , 0x1C , 0x2A , 0xB0 , 0xF1 , 0x13 , 0x2F , 0x68 , 0x2B , 0x66 , 0xB8 , 0xAD , 0x14 , 0x28 , 0x65 , 0x85 , 0xC4 , 0x92 , 0x0F , 0x10 , 0x3F , 0x1A , 0xCD , 0x6D , 0x74 , 0x39 , 0x5E , 0x9D , 0x6F , 0x11 , 0xD3 , 0xB4 , 0xDA , 0xB6 , 0x1A , 0x1D , 0x73 , 0x29 , 0xF3 , 0x4A , 0x4F , 0x77 , 0x19 , 0x53 , 0x59 , 0x38 , 0xF5 , 0x58 , 0x77 , 0xE5 , 0x45 , 0xBA , 0x03 , 0xD4 , 0x9C , 0x1B , 0x11 , 0x9C , 0xA2 , 0x91 , 0x80 , 0xC7 , 0x2C , 0xEB , 0x0C , 0x8D , 0x7E , 0xA1 , 0x94 , 0x1B , 0x7B , 0x74 , 0x0F , 0x21 , 0xB5 , 0xE5 , 0xBA , 0xEA , 0x14 , 0x65 , 0xAA , 0xFB , 0x5F , 0x91 , 0x7A , 0x73 , 0xBB , 0x04 , 0x4E , 0x74 , 0xFE , 0x24 , 0xDF , 0x63 , 0x18 , 0xDF , 0xC2 ,
0x74 , 0x5F , 0x4C , 0x9C , 0x9D , 0x0C , 0x94 , 0x58 , 0x89 , 0x3F , 0x77 , 0x63 , 0x03 , 0x77 , 0x9C , 0x6E , 0xDE , 0x01 , 0x13 , 0x62 , 0xEF , 0xCF , 0x57 , 0xAB , 0x15 , 0x22 , 0xB6 , 0x40 , 0xFF , 0x0A , 0xFC , 0x91 , 0xB8 , 0x52 , 0xFA , 0xCC , 0x7C , 0xEE , 0xB8 , 0xA3 , 0x7C , 0x8B , 0x3C , 0x04 , 0x2E , 0xAB , 0x00 , 0x78 , 0x95 , 0xD5 , 0x0B , 0xC0 , 0xF1 , 0x5D , 0x52 , 0x25 , 0x92 , 0x6B , 0x99 , 0x71 , 0x2E , 0x2B , 0x3A , 0x15 , 0x2A , 0x15 , 0xE8 , 0xAC , 0x79 , 0x71 , 0xAE , 0xC7 , 0xDA , 0x7C , 0x9D , 0x7E , 0xD5 , 0x75 , 0x34 , 0xA6 , 0x76 , 0x46 , 0xB1 , 0x87 , 0x94 , 0xAD , 0x1F , 0x75 , 0x74 , 0x69 , 0xE7 , 0x26 , 0xD6 , 0xB1 , 0x32 , 0xFE , 0x0A , 0xCA , 0x3C , 0x54 ,
0x7D , 0x24 , 0x95 , 0xE1 , 0xFD , 0x37 , 0xE6 , 0x34 , 0xA5 , 0x8B , 0x42 , 0x88 , 0x71 , 0x22 , 0xFE , 0x94 , 0x42 , 0xD5 , 0xF8 , 0xEE , 0x1E , 0x57 , 0x2A , 0xD4 , 0xB7 , 0xC8 , 0x90 , 0xA2 , 0x4A , 0xE0 , 0xB7 , 0xB5 , 0x37 , 0x72 , 0x59 , 0xF5 , 0xA4 , 0x8D , 0x3C , 0xFE , 0x3B , 0xD2 , 0x8F , 0xEA , 0xBB , 0x83 , 0x77 , 0x78 , 0xDA , 0x6E , 0xF3 , 0x35 , 0x03 , 0x2E , 0xF1 , 0x95 , 0x6E , 0x91 , 0x25 , 0x9B , 0x11 , 0x35 , 0xBE , 0x08 , 0xBB , 0xCB , 0x5C , 0x34 , 0x1F , 0x22 , 0x02 , 0xE3 , 0x0E , 0x5E , 0xC4 , 0xF8 , 0xD1 , 0x6C , 0xF9 , 0x87 , 0x67 , 0x0B , 0x33 , 0xBD , 0xD3 , 0xF0 , 0x25 , 0x5C , 0x68 , 0xD5 , 0xD0 , 0xA7 , 0x4E , 0x2E , 0x8B , 0xB6 , 0x45 , 0xD9 , 0x8A , 0x33 ,
0x80 , 0x08 , 0xBD , 0x8D , 0x17 , 0xFD , 0x4C , 0x4C , 0xFD , 0x06 , 0x85 , 0x5A , 0x4A , 0xDF , 0x4C , 0xD7 , 0x16 , 0x78 , 0xB0 , 0x0F , 0xA9 , 0x35 , 0x4A , 0x71 , 0x9F , 0x10 , 0xE1 , 0x26 , 0x09 , 0x03 , 0x29 , 0xE3 , 0x11 , 0x2A , 0xF4 , 0x4F , 0x02 , 0xBD , 0x29 , 0x54 , 0xA8 , 0x8F , 0xFE , 0xC4 , 0x98 , 0xD4 , 0x28 , 0x86 , 0x00 , 0x37 , 0xC9 , 0x2C , 0xCF , 0xB6 , 0xA6 , 0x0B , 0x98 , 0x22 , 0xE6 , 0xAA , 0x8A , 0x51 , 0x45 , 0xAF , 0xBB , 0x63 , 0x25 , 0x42 , 0x7F , 0x3E , 0x8C , 0x34 , 0x30 , 0x86 , 0x39 , 0x9D , 0x58 , 0xC1 , 0xC0 , 0x1F , 0xA8 , 0xEE , 0x2A , 0x42 , 0x4C , 0x0C , 0xCA , 0x62 , 0xCA , 0xD1 , 0xA6 , 0x26 , 0xA1 , 0xB9 , 0x3D , 0x6C , 0xDE , 0x72 , 0x71 , 0xC5 ,
0xAB , 0xE2 , 0xD6 , 0x67 , 0x36 , 0xDD , 0xD9 , 0xFE , 0x32 , 0x43 , 0x3A , 0x33 , 0x0E , 0x4C , 0x25 , 0x5A , 0x25 , 0x77 , 0xFD , 0x0C , 0x7E , 0xE3 , 0x8F , 0x9A , 0x12 , 0x7F , 0x09 , 0x15 , 0x92 , 0x5D , 0x21 , 0xB8 , 0x6F , 0x6C , 0xBC , 0xCC , 0x37 , 0xEF , 0x32 , 0x7D , 0xAF , 0x90 , 0x47 , 0xAF , 0x54 , 0xD9 , 0xD6 , 0x9E , 0x50 , 0xB6 , 0x7D , 0x1E , 0x1C , 0xD8 , 0x8D , 0x72 , 0x64 , 0x86 , 0x93 , 0xDB , 0x2E , 0xCE , 0x1E , 0x95 , 0xA8 , 0xBF , 0x6B , 0x22 , 0x9B , 0x16 , 0x72 , 0x2A , 0xA2 , 0x53 , 0x37 , 0x8F , 0x81 , 0xCE , 0x0B , 0x8E , 0x27 , 0x23 , 0x73 , 0x7C , 0xE7 , 0x15 , 0x32 , 0x20 , 0xA1 , 0xD4 , 0xE9 , 0xCD , 0x10 , 0xC2 , 0xC0 , 0xB9 , 0x92 , 0x8E , 0x8E , 0x0B ,
0x50 , 0x79 , 0x15 , 0xFE , 0x64 , 0x90 , 0x85 , 0xB7 , 0x65 , 0xAD , 0x6A , 0x80 , 0xF3 , 0x43 , 0x3D , 0x1C , 0xCC , 0xFB , 0xC6 , 0x8C , 0x83 , 0x23 , 0xE3 , 0xA7 , 0x4C , 0xCE , 0x88 , 0x8C , 0x99 , 0xED , 0xCE , 0xC8 , 0x29 , 0xA7 , 0x45 , 0xA7 , 0x3A , 0xC2 , 0x24 , 0x6C , 0xD7 , 0x47 , 0x37 , 0x06 , 0xEE , 0xAE , 0xD7 , 0xC7 , 0xE6 , 0x09 , 0x2D , 0xAC , 0x13 , 0x5A , 0xE1 , 0x83 , 0x72 , 0x65 , 0x60 , 0x21 , 0x97 , 0x1A , 0x56 , 0x6B , 0xFA , 0xE4 , 0x4B , 0x71 , 0x6E , 0x99 , 0x1F , 0x09 , 0xBF , 0x97 , 0x23 , 0xC2 , 0x1A , 0xEE , 0xEA , 0x82 , 0x07 , 0x9C , 0x8F , 0x7C , 0x80 , 0xBA , 0xC3 , 0x68 , 0xFC , 0x42 , 0xE4 , 0x50 , 0x80 , 0x71 , 0x48 , 0x74 , 0x6A , 0x10 , 0x23 , 0x7E ,
0x44 , 0xD6 , 0xA2 , 0xB9 , 0x3E , 0x95 , 0xA0 , 0x0E , 0x0B , 0xA6 , 0xA8 , 0x45 , 0xD8 , 0xE5 , 0x18 , 0x17 , 0x63 , 0xB9 , 0xE2 , 0x66 , 0x88 , 0xA4 , 0xEC , 0x4A , 0x88 , 0x3F , 0x54 , 0x2B , 0x7D , 0x89 , 0xC3 , 0x73 , 0x84 , 0x83 , 0x76 , 0x62 , 0x6B , 0xD6 , 0xDA , 0x76 , 0x43 , 0xD7 , 0xCA , 0xE3 , 0x78 , 0x45 , 0x5A , 0x46 , 0xA7 , 0x6D , 0x0E , 0x42 , 0x41 , 0x80 , 0xDB , 0x03 , 0xDD , 0x11 , 0x5F , 0xD1 , 0x0F , 0x3F , 0x9C , 0xD3 , 0xBB , 0xEF , 0xCC , 0x8C , 0x10 , 0x96 , 0x6B , 0xA0 , 0x86 , 0xB9 , 0x32 , 0xFD , 0xB4 , 0xA8 , 0x55 , 0x90 , 0x57 , 0x80 , 0x30 , 0x9A , 0xB3 , 0xC0 , 0xE1 , 0xDE , 0xEC , 0x56 , 0x3A , 0x16 , 0x2F , 0x9B , 0x04 , 0x00 , 0x4C , 0x84 , 0xC1 , 0x42 ,
0xBE , 0x3D , 0xC8 , 0xD4 , 0x8B , 0x86 , 0x0B , 0x0A , 0x73 , 0x32 , 0x50 , 0x18 , 0x73 , 0x3E , 0x96 , 0x70 , 0xB1 , 0x58 , 0x96 , 0x67 , 0x60 , 0x36 , 0xFA , 0x9F , 0xC5 , 0x22 , 0xBD , 0x29 , 0xEB , 0xFB , 0xA9 , 0xDA , 0x16 , 0xF0 , 0x1C , 0xDE , 0xEB , 0x6E , 0xB7 , 0x7D , 0x2F , 0x13 , 0xBE , 0x13 , 0x34 , 0xB3 , 0x70 , 0x49 , 0xEF , 0x15 , 0x96 , 0xEF , 0x55 , 0xF4 , 0x39 , 0x34 , 0x2F , 0xB4 , 0x3C , 0x26 , 0x2B , 0xEC , 0x66 , 0x20 , 0x29 , 0x14 , 0xB6 , 0x70 , 0xCC , 0x40 , 0x11 , 0xC1 , 0xC4 , 0x55 , 0xDF , 0x44 , 0x62 , 0xEA , 0x86 , 0x26 , 0x7F , 0x70 , 0x91 , 0x37 , 0x1E , 0x35 , 0x6A , 0x29 , 0x29 , 0x1D , 0x4A , 0x38 , 0x74 , 0x4D , 0x19 , 0xF2 , 0x8B , 0x02 , 0x51 , 0xF2 ,
0x89 , 0xE7 , 0xBE , 0xEA , 0xCC , 0x3C , 0x7F , 0x94 , 0x14 , 0xB1 , 0x99 , 0x99 , 0xCB , 0x19 , 0xA8 , 0x20 , 0x1B , 0x5C , 0xEE , 0xAD , 0x5E , 0x41 , 0xA3 , 0x13 , 0x63 , 0xD9 , 0x3C , 0x6B , 0x7E , 0x60 , 0xBB , 0x26 , 0x59 , 0x11 , 0xD1 , 0x85 , 0x00 , 0x08 , 0x68 , 0xDC , 0xF3 , 0xCD , 0x55 , 0xAC , 0x0E , 0xC3 , 0x77 , 0xDC , 0xED , 0x5A , 0x83 , 0x51 , 0x4C , 0xCC , 0xAE , 0xBA , 0xF7 , 0x60 , 0x47 , 0x61 , 0x01 , 0xCC , 0x31 , 0x46 , 0xF5 , 0x2A , 0x06 , 0x39 , 0x15 , 0xCD , 0x1C , 0x2C , 0x32 , 0x79 , 0x2E , 0x1E , 0x73 , 0x80 , 0xA6 , 0x91 , 0x7B , 0xCD , 0xFE , 0x0F , 0x8B , 0x86 , 0x91 , 0xD3 , 0xD2 , 0x07 , 0xB8 , 0x48 , 0x1A , 0x63 , 0x41 , 0xE7 , 0x62 , 0xDF , 0x1E , 0x59 ,
0x9B , 0xFA , 0xC8 , 0x25 , 0xC3 , 0x70 , 0x96 , 0x8E , 0xEB , 0xA7 , 0x5D , 0x0D , 0x6C , 0xBA , 0xB1 , 0xDD , 0x8F , 0xB7 , 0xA8 , 0xBF , 0xBD , 0xBE , 0xFF , 0x86 , 0x8A , 0x31 , 0x11 , 0xAF , 0x33 , 0x6A , 0x1E , 0x11 , 0xDF , 0x06 , 0x0C , 0x16 , 0x98 , 0x9E , 0x5B , 0xE3 , 0x4C , 0x31 , 0xF4 , 0x5F , 0x61 , 0xC0 , 0x22 , 0xAC , 0x80 , 0xA7 , 0x05 , 0xAA , 0x48 , 0x77 , 0xCE , 0x2F , 0x2F , 0x93 , 0xA6 , 0x19 , 0x12 , 0x6C , 0x40 , 0x24 , 0xC0 , 0xF1 , 0xF9 , 0xC1 , 0x13 , 0x99 , 0x2A , 0xE7 , 0x12 , 0xB2 , 0xA4 , 0x67 , 0xCD , 0xC6 , 0xA7 , 0xE2 , 0x59 , 0x20 , 0x71 , 0xB8 , 0x5D , 0x3C , 0xAC , 0x8A , 0x30 , 0x00 , 0xDE , 0xAB , 0x97 , 0x94 , 0x7E , 0x72 , 0xF0 , 0xDA , 0x6D , 0x9D ,
0xDF , 0x89 , 0x53 , 0x06 , 0x93 , 0x6F , 0xA4 , 0x90 , 0x30 , 0xFA , 0xD3 , 0x26 , 0xE6 , 0x24 , 0xBF , 0x3E , 0x22 , 0xA2 , 0x46 , 0x55 , 0xF6 , 0x6A , 0x16 , 0x5D , 0x3E , 0x17 , 0x7E , 0x13 , 0x02 , 0x9C , 0x2D , 0x07 , 0x79 , 0x58 , 0x00 , 0x32 , 0xD2 , 0x10 , 0x93 , 0x85 , 0x98 , 0x2D , 0xF8 , 0x5D , 0x5B , 0x74 , 0xB0 , 0x7E , 0x4B , 0x57 , 0x64 , 0xEA , 0x66 , 0xDF , 0xE1 , 0x04 , 0xCC , 0x35 , 0x9F , 0x0E , 0x46 , 0x8A , 0xFB , 0x1C , 0x0D , 0x37 , 0x8D , 0xC0 , 0x13 , 0x67 , 0xAE , 0xC0 , 0xD2 , 0x2E , 0x9B , 0xB4 , 0x16 , 0x1B , 0xA4 , 0x9A , 0x23 , 0x18 , 0xD2 , 0x58 , 0x9E , 0x3F , 0x4B , 0x83 , 0x0D , 0x4A , 0xE4 , 0xF3 , 0xB3 , 0xFC , 0x0A , 0xF9 , 0xA5 , 0x01 , 0x9C , 0x44 ,
0x89 , 0x53 , 0xBD , 0x10 , 0xAA , 0x1E , 0xC6 , 0x41 , 0x7C , 0x71 , 0xCA , 0x47 , 0x79 , 0x60 , 0x95 , 0x2E , 0xAB , 0xF6 , 0x17 , 0xBE , 0x1D , 0xF1 , 0x05 , 0xAD , 0x76 , 0xD8 , 0xBB , 0xF2 , 0xBB , 0x36 , 0xEE , 0xCD , 0xAA , 0xBC , 0xBA , 0xBE , 0x94 , 0x42 , 0x9A , 0xA8 , 0xEE , 0xE5 , 0x93 , 0x5C , 0x3C , 0x23 , 0xE2 , 0x75 , 0xD3 , 0x59 , 0xB4 , 0xB3 , 0xC4 , 0x01 , 0xBB , 0xC9 , 0x05 , 0xFE , 0xFA , 0x1B , 0x31 , 0x7A , 0x15 , 0x29 , 0x91 , 0xE6 , 0xB9 , 0xB2 , 0x1E , 0xF9 , 0x36 , 0xC5 , 0x17 , 0xB9 , 0x9D , 0x32 , 0x0D , 0x0D , 0x80 , 0x4A , 0x0D , 0x14 , 0xB4 , 0xDF , 0x89 , 0x3A , 0x4B , 0xCA , 0x4B , 0xDE , 0xF8 , 0xC0 , 0x1B , 0xA6 , 0x6D , 0xD9 , 0x19 , 0xFB , 0x0E , 0x02 ,
0x22 , 0x82 , 0x8E , 0x25 , 0x8E , 0x9F , 0xD5 , 0x7B , 0xB6 , 0x14 , 0x15 , 0x08 , 0x61 , 0xCD , 0xA6 , 0xB3 , 0x0F , 0xC8 , 0xE8 , 0xF9 , 0xEE , 0xDB , 0xAF , 0x25 , 0x40 , 0x01 , 0x85 , 0x0E , 0x89 , 0x0D , 0x0D , 0x85 , 0xA6 , 0xA3 , 0xC9 , 0x65 , 0x64 , 0x8A , 0xD1 , 0xF7 , 0x55 , 0xF9 , 0x31 , 0x24 , 0x41 , 0x30 , 0x3B , 0x30 , 0x1F , 0x30 , 0x07 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1A , 0x04 , 0x14 , 0xD4 , 0x77 , 0x3F , 0x92 , 0xB6 , 0xA6 , 0x1B , 0xD5 , 0x7F , 0xC1 , 0x1B , 0x93 , 0xB3 , 0x6E , 0x87 , 0x67 , 0x80 , 0xE7 , 0x4C , 0x7C , 0x04 , 0x14 , 0x58 , 0x4C , 0x92 , 0xDD , 0x0B , 0xEF , 0x09 , 0x35 , 0xE0 , 0x06 , 0x33 , 0x54 , 0xB2 , 0xA8 , 0x8E , 0x0C , 0x60 , 0x67 ,
0xB5 , 0x0F , 0x02 , 0x02 , 0x07 , 0xD0 } ;
public const string base64_cert = @ "-----BEGIN CERTIFICATE-----
MIIBxTCCATKgAwIBAgIQx3WuSFObHp5EgBXKeBVHaTAJBgUrDgMCHQUAMCUxIzAh
BgNVBAMeGgBDAEEAUwBUAE8AUgBcAHAAbwB1AHAAbwB1MB4XDTA1MDYwODEzMzg0
N1oXDTA2MDYwODE5Mzg0N1owJTEjMCEGA1UEAx4aAEMAQQBTAFQATwBSAFwAcABv
AHUAcABvAHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANrqOTj2OvSL + eLH
1 Sz5GtV1zxess0a9fz + XOC4QQbLE2RQV2Ob5ETiAdePXH8CGpz4CEQTpV7XYV2Un
e4 + 6 ue + gjxWc7C + FY05Sa6bjM8qGIrr5Bujsy6elqOI + xyF0TsnpBV + ueBJRL / pq
j3ywZCr7t7JAkSDnMlM / WMqAokHFAgMBAAEwCQYFKw4DAh0FAAOBgQCdV7All4Ei
PMRhncnb2MfB7fsc3TWY10BYpEOGVPloloW1kby3grJ + e1i9gM40fiKHYjG1Axag
IBed512qEvWS35Tmac32 / IKb3NMwQLFxT0pky9wUyMF / byPO3RkiTyQeJxhmiHqa
mgk3bWUV6ChegutbguiKrI / DbO7wPiDLxw = =
- - - - - END CERTIFICATE - - - - - ";
static public byte [ ] farscape_pkcs7 = { 0x30 , 0x82 , 0x02 , 0x59 , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x02 , 0xA0 , 0x82 , 0x02 , 0x4A , 0x30 , 0x82 , 0x02 , 0x46 , 0x02 , 0x01 , 0x01 , 0x31 , 0x00 , 0x30 , 0x0B , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x07 , 0x01 , 0xA0 , 0x82 , 0x02 , 0x2E , 0x30 , 0x82 , 0x02 , 0x2A , 0x30 , 0x82 , 0x01 , 0x97 , 0xA0 , 0x03 , 0x02 , 0x01 , 0x02 , 0x02 , 0x10 , 0x91 , 0xC4 , 0x4B , 0x0D , 0xB7 , 0xD8 , 0x10 , 0x84 , 0x42 , 0x26 , 0x71 , 0xB3 , 0x97 , 0xB5 , 0x00 , 0x97 , 0x30 , 0x09 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x30 , 0x28 , 0x31 , 0x26 , 0x30 , 0x24 , 0x06 , 0x03 ,
0x55 , 0x04 , 0x03 , 0x13 , 0x1D , 0x4D , 0x6F , 0x74 , 0x75 , 0x73 , 0x20 , 0x54 , 0x65 , 0x63 , 0x68 , 0x6E , 0x6F , 0x6C , 0x6F , 0x67 , 0x69 , 0x65 , 0x73 , 0x20 , 0x69 , 0x6E , 0x63 , 0x2E , 0x28 , 0x74 , 0x65 , 0x73 , 0x74 , 0x29 , 0x30 , 0x1E , 0x17 , 0x0D , 0x30 , 0x33 , 0x30 , 0x38 , 0x31 , 0x33 , 0x30 , 0x30 , 0x34 , 0x33 , 0x34 , 0x37 , 0x5A , 0x17 , 0x0D , 0x33 , 0x39 , 0x31 , 0x32 , 0x33 , 0x31 , 0x32 , 0x33 , 0x35 , 0x39 , 0x35 , 0x39 , 0x5A , 0x30 , 0x13 , 0x31 , 0x11 , 0x30 , 0x0F , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x13 , 0x08 , 0x46 , 0x41 , 0x52 , 0x53 , 0x43 , 0x41 , 0x50 , 0x45 , 0x30 , 0x81 , 0x9F , 0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D ,
0x01 , 0x01 , 0x01 , 0x05 , 0x00 , 0x03 , 0x81 , 0x8D , 0x00 , 0x30 , 0x81 , 0x89 , 0x02 , 0x81 , 0x81 , 0x00 , 0xD2 , 0xCB , 0x47 , 0x21 , 0xF5 , 0x62 , 0xDD , 0x35 , 0xBF , 0x1D , 0xEC , 0x9A , 0x4C , 0x07 , 0x2C , 0x01 , 0xF0 , 0x28 , 0xC2 , 0x82 , 0x17 , 0x8E , 0x58 , 0x32 , 0xD5 , 0x4C , 0xAC , 0x86 , 0xB4 , 0xC9 , 0xEB , 0x21 , 0x26 , 0xF3 , 0x22 , 0x30 , 0xC5 , 0x7A , 0xA3 , 0x5A , 0xDD , 0x53 , 0xAB , 0x1C , 0x06 , 0x3E , 0xB2 , 0x13 , 0xC4 , 0x05 , 0x1D , 0x95 , 0x8B , 0x0A , 0x71 , 0x71 , 0x11 , 0xA7 , 0x47 , 0x26 , 0x61 , 0xF1 , 0x76 , 0xBE , 0x35 , 0x72 , 0x32 , 0xC5 , 0xCB , 0x47 , 0xA4 , 0x22 , 0x41 , 0x1E , 0xAD , 0x29 , 0x11 , 0x0D , 0x39 , 0x22 , 0x0C , 0x79 , 0x90 , 0xC6 ,
0x52 , 0xA1 , 0x10 , 0xF6 , 0x55 , 0x09 , 0x4E , 0x51 , 0x26 , 0x47 , 0x0E , 0x94 , 0xE6 , 0x81 , 0xF5 , 0x18 , 0x6B , 0x99 , 0xF0 , 0x76 , 0xF3 , 0xB2 , 0x4C , 0x91 , 0xE9 , 0xBA , 0x3B , 0x3F , 0x6E , 0x63 , 0xDA , 0x12 , 0xD1 , 0x0B , 0x73 , 0x0E , 0x12 , 0xC7 , 0x70 , 0x77 , 0x22 , 0x03 , 0x9D , 0x5D , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0xA3 , 0x72 , 0x30 , 0x70 , 0x30 , 0x13 , 0x06 , 0x03 , 0x55 , 0x1D , 0x25 , 0x04 , 0x0C , 0x30 , 0x0A , 0x06 , 0x08 , 0x2B , 0x06 , 0x01 , 0x05 , 0x05 , 0x07 , 0x03 , 0x01 , 0x30 , 0x59 , 0x06 , 0x03 , 0x55 , 0x1D , 0x01 , 0x04 , 0x52 , 0x30 , 0x50 , 0x80 , 0x10 , 0xAE , 0xD7 , 0x80 , 0x88 , 0xA6 , 0x3D , 0xBA , 0x50 , 0xA1 , 0x7E , 0x57 , 0xE5 , 0x40 ,
0xC9 , 0x6F , 0xC5 , 0xA1 , 0x2A , 0x30 , 0x28 , 0x31 , 0x26 , 0x30 , 0x24 , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x13 , 0x1D , 0x4D , 0x6F , 0x74 , 0x75 , 0x73 , 0x20 , 0x54 , 0x65 , 0x63 , 0x68 , 0x6E , 0x6F , 0x6C , 0x6F , 0x67 , 0x69 , 0x65 , 0x73 , 0x20 , 0x69 , 0x6E , 0x63 , 0x2E , 0x28 , 0x74 , 0x65 , 0x73 , 0x74 , 0x29 , 0x82 , 0x10 , 0x9D , 0xAE , 0xA3 , 0x39 , 0x47 , 0x0E , 0xD4 , 0xA2 , 0x49 , 0x78 , 0xEA , 0x6C , 0xBA , 0x0D , 0xDE , 0x9C , 0x30 , 0x09 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x03 , 0x81 , 0x81 , 0x00 , 0x32 , 0x8A , 0x7E , 0xAD , 0xE7 , 0x67 , 0x9E , 0x5C , 0x4C , 0xD8 , 0x33 , 0x59 , 0x68 , 0xCF , 0x94 , 0xC0 , 0x36 , 0x47 , 0x7A , 0xA7 ,
0x85 , 0xC2 , 0xDD , 0xD8 , 0xDA , 0x11 , 0x3C , 0x66 , 0xC1 , 0x83 , 0xE3 , 0xAB , 0x33 , 0x06 , 0x7C , 0xE3 , 0x6A , 0x15 , 0x72 , 0xB8 , 0x83 , 0x3D , 0x0B , 0xAB , 0x3C , 0xEE , 0x75 , 0x13 , 0xBD , 0x5C , 0x96 , 0x25 , 0x56 , 0x36 , 0x05 , 0xFA , 0xAE , 0xD4 , 0xF4 , 0xCF , 0x52 , 0xEC , 0x11 , 0xB5 , 0xEA , 0x9F , 0x20 , 0xA3 , 0xC8 , 0x34 , 0x72 , 0x59 , 0x09 , 0x51 , 0xE7 , 0x36 , 0x87 , 0x86 , 0x86 , 0x98 , 0xB5 , 0x30 , 0x7B , 0xFB , 0x3D , 0xCC , 0x5E , 0xE8 , 0xC9 , 0x49 , 0xE0 , 0xC6 , 0xEA , 0x02 , 0x76 , 0x01 , 0xE0 , 0xBB , 0x8A , 0x70 , 0xEB , 0x07 , 0x86 , 0xE8 , 0x04 , 0xE7 , 0x48 , 0xE4 , 0x6C , 0x90 , 0xE6 , 0x16 , 0x42 , 0xB4 , 0xBB , 0xC0 , 0xC4 , 0x82 , 0x5F , 0xF8 ,
0xFB , 0x7E , 0xB2 , 0x9E , 0xC2 , 0x78 , 0x26 , 0x86 , 0x31 , 0x00 } ;
[Test]
public void Equals ( )
{
X509Certificate x1 = new X509Certificate ( cert1 ) ;
Assert . IsTrue ( x1 . Equals ( x1 ) , "Equals-Self-X" ) ;
Assert . IsTrue ( x1 . Equals ( ( object ) x1 ) , "Equals-Self-O" ) ;
X509Certificate x2 = new X509Certificate ( cert1 ) ;
Assert . IsTrue ( x1 . Equals ( x2 ) , "Equals-12-X" ) ;
Assert . IsTrue ( x1 . Equals ( ( object ) x2 ) , "Equals-12-O" ) ;
Assert . IsTrue ( x2 . Equals ( x1 ) , "Equals-12-X" ) ;
Assert . IsTrue ( x2 . Equals ( ( object ) x1 ) , "Equals-12-O" ) ;
}
[Test]
public void Equals_Empty_Source ( )
{
X509Certificate empty = new X509Certificate ( ) ;
Assert . IsFalse ( empty . Equals ( null ) , "null" ) ;
X509Certificate x = new X509Certificate ( cert1 ) ;
Assert . IsFalse ( empty . Equals ( x ) , "X509Certificate" ) ;
Assert . IsFalse ( empty . Equals ( ( object ) x ) , "object" ) ;
Assert . IsTrue ( empty . Equals ( empty ) , "empty" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Equals_Empty_Destination ( )
{
new X509Certificate ( cert1 ) . Equals ( new X509Certificate ( ) ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Export_Authenticode ( )
{
new X509Certificate ( cert1 ) . Export ( X509ContentType . Authenticode ) ;
}
[Test]
public void Export_Cert ( )
{
X509Certificate cert = new X509Certificate ( cert1 ) ;
byte [ ] data = cert . Export ( X509ContentType . Cert ) ;
Assert . AreEqual ( data , cert1 , "original" ) ;
data = cert . Export ( X509ContentType . Cert , ( string ) null ) ;
Assert . AreEqual ( data , cert1 , "original/string/null" ) ;
data = cert . Export ( X509ContentType . Cert , ( SecureString ) null ) ;
Assert . AreEqual ( data , cert1 , "original/SecureString/null" ) ;
}
[Test]
[Category ("NotWorking")]
public void Export_Pfx ( )
{
X509Certificate cert = new X509Certificate ( cert1 ) ;
byte [ ] data = cert . Export ( X509ContentType . Pfx ) ;
// usable
X509Certificate2 c = new X509Certificate2 ( data ) ;
Assert . AreEqual ( cert1 , c . GetRawCertData ( ) , "Equals" ) ;
}
[Test]
[Category ("NotWorking")]
public void Export_Pkcs12 ( )
{
X509Certificate cert = new X509Certificate ( cert1 ) ;
byte [ ] data = cert . Export ( X509ContentType . Pkcs12 ) ;
// usable
X509Certificate2 c = new X509Certificate2 ( data ) ;
Assert . AreEqual ( cert1 , c . GetRawCertData ( ) , "Equals" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Export_Pkcs7 ( )
{
new X509Certificate ( cert1 ) . Export ( X509ContentType . Pkcs7 ) ;
}
[Test]
[Category ("NotWorking")]
public void Export_SerializedCert ( )
{
X509Certificate cert = new X509Certificate ( cert1 ) ;
byte [ ] data = cert . Export ( X509ContentType . SerializedCert ) ;
// usable
X509Certificate2 c = new X509Certificate2 ( data ) ;
Assert . AreEqual ( cert1 , c . GetRawCertData ( ) , "Equals" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Export_SerializedStore ( )
{
new X509Certificate ( cert1 ) . Export ( X509ContentType . SerializedStore ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Export_Unknown ( )
{
new X509Certificate ( cert1 ) . Export ( X509ContentType . Unknown ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Export_Bad ( )
{
new X509Certificate ( cert1 ) . Export ( ( X509ContentType ) Int32 . MinValue ) ;
}
[Test]
public void UnrequiredPassword ( )
{
// MS permits to supply an unrequired password for an (unencrypted) DER certificate
X509Certificate x1 = new X509Certificate ( cert1 , "mono" ) ;
}
[Test]
public void Empty ( )
{
X509Certificate x = new X509Certificate ( ) ;
Assert . AreEqual ( "X509" , x . GetFormat ( ) , "GetFormat" ) ;
Assert . AreEqual ( 0 , x . GetHashCode ( ) , "GetHashCode" ) ;
Assert . AreEqual ( IntPtr . Zero , x . Handle , "Handle" ) ;
Assert . AreEqual ( "System.Security.Cryptography.X509Certificates.X509Certificate" , x . ToString ( true ) , "ToString(true)" ) ;
Assert . AreEqual ( "System.Security.Cryptography.X509Certificates.X509Certificate" , x . ToString ( false ) , "ToString(false)" ) ;
Assert . IsTrue ( x . Equals ( x ) , "Equals(X509Certificate)" ) ;
Assert . IsTrue ( x . Equals ( ( object ) x ) , "Equals(object)" ) ;
x . Reset ( ) ;
x . Import ( cert1 ) ;
Assert . AreEqual ( "02720006E8" , x . GetSerialNumberString ( ) , "GetSerialNumberString" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_Issuer ( )
{
X509Certificate x = new X509Certificate ( ) ;
Assert . IsNotNull ( x . Issuer , "Issuer" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_Subject ( )
{
X509Certificate x = new X509Certificate ( ) ;
Assert . IsNotNull ( x . Subject , "Subject" ) ;
}
[Test]
[Category ("NotDotNet")] // FatalExecutionEngineError / Crash NUnit
[ExpectedException (typeof (CryptographicException))]
public void Empty_Export ( )
{
new X509Certificate ( ) . Export ( X509ContentType . Cert ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetCertHash ( )
{
new X509Certificate ( ) . GetCertHash ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetCertHashString ( )
{
new X509Certificate ( ) . GetCertHashString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetEffectiveDateString ( )
{
new X509Certificate ( ) . GetEffectiveDateString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetExpirationDateString ( )
{
new X509Certificate ( ) . GetExpirationDateString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetIssuerName ( )
{
new X509Certificate ( ) . GetIssuerName ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetKeyAlgorithm ( )
{
new X509Certificate ( ) . GetKeyAlgorithm ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetKeyAlgorithmParameters ( )
{
new X509Certificate ( ) . GetKeyAlgorithmParameters ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetKeyAlgorithmParametersString ( )
{
new X509Certificate ( ) . GetKeyAlgorithmParametersString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetName ( )
{
new X509Certificate ( ) . GetName ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetPublicKey ( )
{
new X509Certificate ( ) . GetPublicKey ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetPublicKeyString ( )
{
new X509Certificate ( ) . GetPublicKeyString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetRawCertData ( )
{
new X509Certificate ( ) . GetRawCertData ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetRawCertDataString ( )
{
new X509Certificate ( ) . GetRawCertDataString ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetSerialNumber ( )
{
new X509Certificate ( ) . GetSerialNumber ( ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Empty_GetSerialNumberString ( )
{
new X509Certificate ( ) . GetSerialNumberString ( ) ;
}
2018-10-09 08:20:59 +00:00
#if ! MOBILE
2014-08-13 10:39:27 +01:00
[Test]
[ExpectedException (typeof (NullReferenceException))]
public void GetObjectData_Null ( )
{
X509Certificate x = new X509Certificate ( ) ;
ISerializable s = ( x as ISerializable ) ;
s . GetObjectData ( null , new StreamingContext ( StreamingContextStates . All ) ) ;
}
[Test]
public void GetObjectData ( )
{
X509Certificate x = new X509Certificate ( cert1 ) ;
ISerializable s = ( x as ISerializable ) ;
Assert . IsNotNull ( s , "ISerializable" ) ;
SerializationInfo info = new SerializationInfo ( typeof ( X509Certificate ) , new FormatterConverter ( ) ) ;
s . GetObjectData ( info , new StreamingContext ( StreamingContextStates . All ) ) ;
Assert . AreEqual ( 1 , info . MemberCount , "MemberCount" ) ;
byte [ ] raw = ( byte [ ] ) info . GetValue ( "RawData" , typeof ( byte [ ] ) ) ;
}
2018-10-09 08:20:59 +00:00
#endif
2014-08-13 10:39:27 +01:00
[Test]
[ExpectedException (typeof (NullReferenceException))]
public void Ctor_Serialization_Null ( )
{
new X509Certificate ( null , new StreamingContext ( StreamingContextStates . All ) ) ;
}
[Test]
public void Ctor_Serialization ( )
{
SerializationInfo info = new SerializationInfo ( typeof ( X509Certificate ) , new FormatterConverter ( ) ) ;
info . AddValue ( "RawData" , cert1 ) ;
X509Certificate x = new X509Certificate ( info , new StreamingContext ( StreamingContextStates . All ) ) ;
Assert . AreEqual ( cert1 , x . GetRawCertData ( ) , "GetRawCertData" ) ;
// decoding is done too
Assert . AreEqual ( "02720006E8" , x . GetSerialNumberString ( ) , "SerialNumber" ) ;
}
[Test]
public void Properties ( )
{
X509Certificate x = new X509Certificate ( cert1 ) ;
Assert . AreEqual ( "OU=Secure Server Certification Authority, O=\"RSA Data Security, Inc.\", C=US" , x . Issuer , "Issuer" ) ;
Assert . AreEqual ( "OU=Server Certification Authority, O=CommerceNet, S=California, C=US" , x . Subject , "Subject" ) ;
}
[Test]
public void Reset ( )
{
X509Certificate x = new X509Certificate ( cert1 ) ;
Assert . AreEqual ( "02720006E8" , x . GetSerialNumberString ( ) , "GetSerialNumberString" ) ;
x . Reset ( ) ;
Assert . AreEqual ( "X509" , x . GetFormat ( ) , "GetFormat" ) ;
Assert . AreEqual ( 0 , x . GetHashCode ( ) , "GetHashCode" ) ;
Assert . AreEqual ( IntPtr . Zero , x . Handle , "Handle" ) ;
Assert . AreEqual ( "System.Security.Cryptography.X509Certificates.X509Certificate" , x . ToString ( true ) , "ToString(true)" ) ;
Assert . AreEqual ( "System.Security.Cryptography.X509Certificates.X509Certificate" , x . ToString ( false ) , "ToString(false)" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Reset_Issuer ( )
{
X509Certificate x = new X509Certificate ( cert1 ) ;
x . Reset ( ) ;
Assert . IsNotNull ( x . Issuer , "Issuer" ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Reset_Subject ( )
{
X509Certificate x = new X509Certificate ( cert1 ) ;
x . Reset ( ) ;
Assert . IsNotNull ( x . Subject , "Subject" ) ;
}
private void CheckPkcs12 ( X509Certificate x )
{
byte [ ] cert = { 0x30 , 0x82 , 0x02 , 0x1E , 0x30 , 0x82 , 0x01 , 0x8B , 0xA0 , 0x03 , 0x02 , 0x01 , 0x02 , 0x02 , 0x10 , 0x74 , 0x8B , 0xCD , 0xD9 , 0x86 , 0x99 , 0x9A , 0x91 , 0x4A , 0x0C , 0xC3 , 0xF4 , 0xE1 , 0x2F , 0xF5 , 0x95 , 0x30 , 0x09 ,
0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x30 , 0x23 , 0x31 , 0x21 , 0x30 , 0x1F , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x13 , 0x18 , 0x4D , 0x6F , 0x6E , 0x6F , 0x20 , 0x53 , 0x53 , 0x4C , 0x20 , 0x49 , 0x6E , 0x74 ,
0x65 , 0x72 , 0x6D , 0x65 , 0x64 , 0x69 , 0x61 , 0x74 , 0x65 , 0x20 , 0x43 , 0x41 , 0x30 , 0x1E , 0x17 , 0x0D , 0x30 , 0x33 , 0x31 , 0x31 , 0x32 , 0x37 , 0x30 , 0x32 , 0x35 , 0x37 , 0x34 , 0x32 , 0x5A , 0x17 , 0x0D , 0x33 , 0x39 , 0x31 ,
0x32 , 0x33 , 0x31 , 0x32 , 0x33 , 0x35 , 0x39 , 0x35 , 0x39 , 0x5A , 0x30 , 0x13 , 0x31 , 0x11 , 0x30 , 0x0F , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x13 , 0x08 , 0x46 , 0x41 , 0x52 , 0x53 , 0x43 , 0x41 , 0x50 , 0x45 , 0x30 , 0x81 , 0x9F ,
0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x01 , 0x01 , 0x05 , 0x00 , 0x03 , 0x81 , 0x8D , 0x00 , 0x30 , 0x81 , 0x89 , 0x02 , 0x81 , 0x81 , 0x00 , 0xC4 , 0x26 , 0x3B , 0xE9 , 0x49 , 0x07 , 0x39 , 0x8C ,
0x51 , 0x34 , 0x3B , 0x84 , 0x4C , 0x27 , 0x98 , 0x70 , 0x15 , 0x79 , 0xF1 , 0xF4 , 0x2A , 0x32 , 0x82 , 0xC3 , 0xFA , 0xCF , 0x6E , 0x72 , 0x37 , 0xCE , 0x37 , 0x55 , 0x1F , 0xFA , 0x8F , 0x78 , 0x4A , 0xA0 , 0x0C , 0x9D , 0x44 , 0x29 ,
0xF2 , 0x81 , 0xD9 , 0x87 , 0xD5 , 0x94 , 0x1A , 0xFC , 0x8D , 0xF8 , 0x9D , 0xE0 , 0xC5 , 0xD2 , 0x4A , 0x4F , 0x68 , 0xD3 , 0xAD , 0x65 , 0x23 , 0xB2 , 0x4F , 0x48 , 0x35 , 0xB9 , 0xFE , 0xE1 , 0xDB , 0x6B , 0xE7 , 0x41 , 0x76 , 0xEC ,
0x0C , 0x5B , 0x3A , 0xE3 , 0x07 , 0xC9 , 0x3D , 0x94 , 0x48 , 0xF2 , 0xCF , 0x71 , 0xAC , 0x2F , 0x71 , 0x60 , 0x15 , 0x0E , 0xD5 , 0x9A , 0xF8 , 0x6C , 0x7F , 0xE9 , 0xC0 , 0x19 , 0x18 , 0x72 , 0x09 , 0xA1 , 0xD6 , 0xB8 , 0xA9 , 0x60 ,
0xD1 , 0xC3 , 0x18 , 0x91 , 0x98 , 0xCE , 0x9A , 0x44 , 0x3D , 0xCF , 0x63 , 0x79 , 0x41 , 0x27 , 0x18 , 0xB3 , 0x8E , 0x05 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0xA3 , 0x6B , 0x30 , 0x69 , 0x30 , 0x13 , 0x06 , 0x03 , 0x55 , 0x1D , 0x25 ,
0x04 , 0x0C , 0x30 , 0x0A , 0x06 , 0x08 , 0x2B , 0x06 , 0x01 , 0x05 , 0x05 , 0x07 , 0x03 , 0x01 , 0x30 , 0x52 , 0x06 , 0x03 , 0x55 , 0x1D , 0x01 , 0x04 , 0x4B , 0x30 , 0x49 , 0x80 , 0x10 , 0x7C , 0x13 , 0x05 , 0xC9 , 0xB9 , 0x5A , 0xA3 ,
0x19 , 0x3E , 0x7C , 0x0D , 0x7C , 0xE3 , 0xF2 , 0xD3 , 0x36 , 0xA1 , 0x23 , 0x30 , 0x21 , 0x31 , 0x1F , 0x30 , 0x1D , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x13 , 0x16 , 0x4D , 0x6F , 0x6E , 0x6F , 0x20 , 0x55 , 0x6E , 0x69 , 0x74 , 0x20 ,
0x54 , 0x65 , 0x73 , 0x74 , 0x20 , 0x52 , 0x6F , 0x6F , 0x74 , 0x20 , 0x43 , 0x41 , 0x82 , 0x10 , 0x1B , 0xFC , 0x61 , 0x41 , 0xD0 , 0xCF , 0x41 , 0xB9 , 0x47 , 0xEF , 0x21 , 0x7D , 0x6A , 0x53 , 0x32 , 0x76 , 0x30 , 0x09 , 0x06 , 0x05 ,
0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x03 , 0x81 , 0x81 , 0x00 , 0x94 , 0xF8 , 0xDA , 0xEF , 0x93 , 0x6A , 0x23 , 0x04 , 0x6B , 0x2D , 0xC3 , 0x1E , 0x57 , 0xC9 , 0x7E , 0xE1 , 0xF6 , 0x6C , 0x55 , 0xB6 , 0xAC , 0xAB , 0xA8 ,
0x67 , 0x19 , 0xCD , 0x1D , 0x32 , 0x1C , 0xD7 , 0x63 , 0x13 , 0x4F , 0x41 , 0x85 , 0xB0 , 0x62 , 0xB8 , 0x04 , 0x38 , 0xD0 , 0xD8 , 0x18 , 0x36 , 0x80 , 0xE2 , 0x70 , 0xE7 , 0x11 , 0x05 , 0x7A , 0x2D , 0x5D , 0xC8 , 0xAD , 0x29 , 0x2E ,
0x05 , 0x54 , 0x66 , 0xE2 , 0x8E , 0xCC , 0xDA , 0xEE , 0x19 , 0x10 , 0xB9 , 0x37 , 0x30 , 0x83 , 0x62 , 0x9A , 0x10 , 0xDB , 0x19 , 0x41 , 0x57 , 0x37 , 0x1A , 0x39 , 0x54 , 0x59 , 0xE6 , 0x6D , 0xDF , 0x1B , 0xCE , 0x6E , 0x78 , 0x6A ,
0x5F , 0x06 , 0x26 , 0x8D , 0xE0 , 0x94 , 0x52 , 0xF4 , 0x86 , 0x9C , 0x42 , 0x58 , 0xF0 , 0xEB , 0x71 , 0xEB , 0xB8 , 0x8E , 0xC9 , 0x20 , 0x84 , 0xD5 , 0x11 , 0x58 , 0x40 , 0x4A , 0xE9 , 0xD1 , 0x8E , 0x2F , 0x9D , 0xD9 , 0x8B , 0xD0 ,
0x55 , 0xB8 , 0x96 } ;
Assert . AreEqual ( "CN=Mono SSL Intermediate CA" , x . Issuer , "Issuer" ) ;
Assert . AreEqual ( "CN=Mono SSL Intermediate CA" , x . GetIssuerName ( ) , "GetIssuerName" ) ;
Assert . AreEqual ( "CN=FARSCAPE" , x . Subject , "Subject" ) ;
Assert . AreEqual ( "CN=FARSCAPE" , x . GetName ( ) , "GetName" ) ;
byte [ ] hash = { 0x30 , 0x29 , 0x69 , 0x4B , 0x22 , 0xB2 , 0xEE , 0x6A , 0xEC , 0x9B , 0x78 , 0x44 , 0x9E , 0x51 , 0x0F , 0x7C , 0x34 , 0x8D , 0xBA , 0x33 } ;
Assert . AreEqual ( hash , x . GetCertHash ( ) , "GetCertHash" ) ;
Assert . AreEqual ( "3029694B22B2EE6AEC9B78449E510F7C348DBA33" , x . GetCertHashString ( ) , "GetCertHashString" ) ;
long from = DateTime . Parse ( x . GetEffectiveDateString ( ) ) . ToUniversalTime ( ) . Ticks ;
Assert . AreEqual ( 632054986620000000 , from , "GetEffectiveDateString" ) ;
long until = DateTime . Parse ( x . GetExpirationDateString ( ) ) . ToUniversalTime ( ) . Ticks ;
Assert . AreEqual ( 643445855990000000 , until , "GetExpirationDateString" ) ;
Assert . AreEqual ( "X509" , x . GetFormat ( ) , "GetFormat" ) ;
Assert . AreEqual ( 808020299 , x . GetHashCode ( ) , "GetHashCode" ) ;
Assert . AreEqual ( "1.2.840.113549.1.1.1" , x . GetKeyAlgorithm ( ) , "GetKeyAlgorithm" ) ;
byte [ ] keyparams = { 0x05 , 0x00 } ;
Assert . AreEqual ( keyparams , x . GetKeyAlgorithmParameters ( ) , "GetKeyAlgorithmParameters" ) ;
Assert . AreEqual ( "0500" , x . GetKeyAlgorithmParametersString ( ) , "GetKeyAlgorithmParametersString" ) ;
byte [ ] pubkey = { 0x30 , 0x81 , 0x89 , 0x02 , 0x81 , 0x81 , 0x00 , 0xC4 , 0x26 , 0x3B , 0xE9 , 0x49 , 0x07 , 0x39 , 0x8C , 0x51 , 0x34 , 0x3B , 0x84 , 0x4C , 0x27 , 0x98 , 0x70 , 0x15 , 0x79 , 0xF1 , 0xF4 , 0x2A , 0x32 , 0x82 , 0xC3 , 0xFA , 0xCF , 0x6E , 0x72 , 0x37 , 0xCE , 0x37 , 0x55 , 0x1F , 0xFA , 0x8F , 0x78 , 0x4A , 0xA0 , 0x0C , 0x9D , 0x44 , 0x29 , 0xF2 , 0x81 , 0xD9 , 0x87 , 0xD5 , 0x94 ,
0x1A , 0xFC , 0x8D , 0xF8 , 0x9D , 0xE0 , 0xC5 , 0xD2 , 0x4A , 0x4F , 0x68 , 0xD3 , 0xAD , 0x65 , 0x23 , 0xB2 , 0x4F , 0x48 , 0x35 , 0xB9 , 0xFE , 0xE1 , 0xDB , 0x6B , 0xE7 , 0x41 , 0x76 , 0xEC , 0x0C , 0x5B , 0x3A , 0xE3 , 0x07 , 0xC9 , 0x3D , 0x94 , 0x48 , 0xF2 , 0xCF , 0x71 , 0xAC , 0x2F , 0x71 , 0x60 , 0x15 , 0x0E , 0xD5 , 0x9A , 0xF8 , 0x6C , 0x7F , 0xE9 , 0xC0 , 0x19 , 0x18 , 0x72 ,
0x09 , 0xA1 , 0xD6 , 0xB8 , 0xA9 , 0x60 , 0xD1 , 0xC3 , 0x18 , 0x91 , 0x98 , 0xCE , 0x9A , 0x44 , 0x3D , 0xCF , 0x63 , 0x79 , 0x41 , 0x27 , 0x18 , 0xB3 , 0x8E , 0x05 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 } ;
Assert . AreEqual ( pubkey , x . GetPublicKey ( ) , "GetPublicKey" ) ;
Assert . AreEqual ( "30818902818100C4263BE94907398C51343B844C2798701579F1F42A3282C3FACF6E7237CE37551FFA8F784AA00C9D4429F281D987D5941AFC8DF89DE0C5D24A4F68D3AD6523B24F4835B9FEE1DB6BE74176EC0C5B3AE307C93D9448F2CF71AC2F7160150ED59AF86C7FE9C019187209A1D6B8A960D1C3189198CE9A443DCF6379412718B38E050203010001" , x . GetPublicKeyString ( ) , "GetPublicKeyString" ) ;
Assert . AreEqual ( cert , x . GetRawCertData ( ) , "GetRawCertData" ) ;
byte [ ] serial = { 0x95 , 0xF5 , 0x2F , 0xE1 , 0xF4 , 0xC3 , 0x0C , 0x4A , 0x91 , 0x9A , 0x99 , 0x86 , 0xD9 , 0xCD , 0x8B , 0x74 } ;
Assert . AreEqual ( serial , x . GetSerialNumber ( ) , "GetSerialNumber" ) ;
Assert . AreEqual ( "748BCDD986999A914A0CC3F4E12FF595" , x . GetSerialNumberString ( ) , "GetSerialNumberString" ) ;
}
[Test]
public void Pkcs12_1_Properties ( )
{
CheckPkcs12 ( new X509Certificate ( farscape_pfx , "farscape" ) ) ;
}
[Test]
2017-04-10 11:41:01 +00:00
[Category ("MacNotWorking")] // SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates https://bugzilla.xamarin.com/show_bug.cgi?id=53689
2014-08-13 10:39:27 +01:00
[ExpectedException (typeof (CryptographicException))]
public void Pkcs12_1_WithoutPassword ( )
{
new X509Certificate ( farscape_pfx ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Pkcs12_1_BadPassword ( )
{
new X509Certificate ( farscape_pfx , "b4d p4zzw0rd" ) ;
}
[Test]
2017-04-10 11:41:01 +00:00
[Category ("MacNotWorking")] // SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates https://bugzilla.xamarin.com/show_bug.cgi?id=53689
2014-08-13 10:39:27 +01:00
public void Pkcs12_2_Properties ( )
{
CheckPkcs12 ( new X509Certificate ( farscape_nopwd_pfx ) ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
public void Pkcs12_2_WithUnrequiredPassword ( )
{
new X509Certificate ( farscape_nopwd_pfx , "n0t n33d3d" ) ;
}
[Test]
public void Pkcs12_3_Properties ( )
{
CheckPkcs12 ( new X509Certificate ( farscape_path_pfx , "farscape" ) ) ;
}
[Test]
public void Pkcs12_4_Properties ( )
{
CheckPkcs12 ( new X509Certificate ( farscape_strong_pfx , "farscape" ) ) ;
}
[Test]
public void Pkcs12_5_Properties ( )
{
CheckPkcs12 ( new X509Certificate ( farscape_strong_path_pfx , "farscape" ) ) ;
}
private void CheckBase64 ( X509Certificate x )
{
// note: the raw data is still the DER encoded ASN.1 (not the base64 string)
byte [ ] cert = { 0x30 , 0x82 , 0x01 , 0xC5 , 0x30 , 0x82 , 0x01 , 0x32 , 0xA0 , 0x03 , 0x02 , 0x01 , 0x02 , 0x02 , 0x10 , 0xC7 , 0x75 , 0xAE , 0x48 , 0x53 , 0x9B , 0x1E , 0x9E , 0x44 , 0x80 , 0x15 , 0xCA , 0x78 , 0x15 , 0x47 , 0x69 , 0x30 , 0x09 ,
0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x30 , 0x25 , 0x31 , 0x23 , 0x30 , 0x21 , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x1E , 0x1A , 0x00 , 0x43 , 0x00 , 0x41 , 0x00 , 0x53 , 0x00 , 0x54 , 0x00 , 0x4F , 0x00 , 0x52 ,
0x00 , 0x5C , 0x00 , 0x70 , 0x00 , 0x6F , 0x00 , 0x75 , 0x00 , 0x70 , 0x00 , 0x6F , 0x00 , 0x75 , 0x30 , 0x1E , 0x17 , 0x0D , 0x30 , 0x35 , 0x30 , 0x36 , 0x30 , 0x38 , 0x31 , 0x33 , 0x33 , 0x38 , 0x34 , 0x37 , 0x5A , 0x17 , 0x0D , 0x30 ,
0x36 , 0x30 , 0x36 , 0x30 , 0x38 , 0x31 , 0x39 , 0x33 , 0x38 , 0x34 , 0x37 , 0x5A , 0x30 , 0x25 , 0x31 , 0x23 , 0x30 , 0x21 , 0x06 , 0x03 , 0x55 , 0x04 , 0x03 , 0x1E , 0x1A , 0x00 , 0x43 , 0x00 , 0x41 , 0x00 , 0x53 , 0x00 , 0x54 , 0x00 ,
0x4F , 0x00 , 0x52 , 0x00 , 0x5C , 0x00 , 0x70 , 0x00 , 0x6F , 0x00 , 0x75 , 0x00 , 0x70 , 0x00 , 0x6F , 0x00 , 0x75 , 0x30 , 0x81 , 0x9F , 0x30 , 0x0D , 0x06 , 0x09 , 0x2A , 0x86 , 0x48 , 0x86 , 0xF7 , 0x0D , 0x01 , 0x01 , 0x01 , 0x05 ,
0x00 , 0x03 , 0x81 , 0x8D , 0x00 , 0x30 , 0x81 , 0x89 , 0x02 , 0x81 , 0x81 , 0x00 , 0xDA , 0xEA , 0x39 , 0x38 , 0xF6 , 0x3A , 0xF4 , 0x8B , 0xF9 , 0xE2 , 0xC7 , 0xD5 , 0x2C , 0xF9 , 0x1A , 0xD5 , 0x75 , 0xCF , 0x17 , 0xAC , 0xB3 , 0x46 ,
0xBD , 0x7F , 0x3F , 0x97 , 0x38 , 0x2E , 0x10 , 0x41 , 0xB2 , 0xC4 , 0xD9 , 0x14 , 0x15 , 0xD8 , 0xE6 , 0xF9 , 0x11 , 0x38 , 0x80 , 0x75 , 0xE3 , 0xD7 , 0x1F , 0xC0 , 0x86 , 0xA7 , 0x3E , 0x02 , 0x11 , 0x04 , 0xE9 , 0x57 , 0xB5 , 0xD8 ,
0x57 , 0x65 , 0x27 , 0x7B , 0x8F , 0xBA , 0xB9 , 0xEF , 0xA0 , 0x8F , 0x15 , 0x9C , 0xEC , 0x2F , 0x85 , 0x63 , 0x4E , 0x52 , 0x6B , 0xA6 , 0xE3 , 0x33 , 0xCA , 0x86 , 0x22 , 0xBA , 0xF9 , 0x06 , 0xE8 , 0xEC , 0xCB , 0xA7 , 0xA5 , 0xA8 ,
0xE2 , 0x3E , 0xC7 , 0x21 , 0x74 , 0x4E , 0xC9 , 0xE9 , 0x05 , 0x5F , 0xAE , 0x78 , 0x12 , 0x51 , 0x2F , 0xFA , 0x6A , 0x8F , 0x7C , 0xB0 , 0x64 , 0x2A , 0xFB , 0xB7 , 0xB2 , 0x40 , 0x91 , 0x20 , 0xE7 , 0x32 , 0x53 , 0x3F , 0x58 , 0xCA ,
0x80 , 0xA2 , 0x41 , 0xC5 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 , 0x30 , 0x09 , 0x06 , 0x05 , 0x2B , 0x0E , 0x03 , 0x02 , 0x1D , 0x05 , 0x00 , 0x03 , 0x81 , 0x81 , 0x00 , 0x9D , 0x57 , 0xB0 , 0x25 , 0x97 , 0x81 , 0x22 , 0x3C , 0xC4 , 0x61 ,
0x9D , 0xC9 , 0xDB , 0xD8 , 0xC7 , 0xC1 , 0xED , 0xFB , 0x1C , 0xDD , 0x35 , 0x98 , 0xD7 , 0x40 , 0x58 , 0xA4 , 0x43 , 0x86 , 0x54 , 0xF9 , 0x68 , 0x96 , 0x85 , 0xB5 , 0x91 , 0xBC , 0xB7 , 0x82 , 0xB2 , 0x7E , 0x7B , 0x58 , 0xBD , 0x80 ,
0xCE , 0x34 , 0x7E , 0x22 , 0x87 , 0x62 , 0x31 , 0xB5 , 0x03 , 0x16 , 0xA0 , 0x20 , 0x17 , 0x9D , 0xE7 , 0x5D , 0xAA , 0x12 , 0xF5 , 0x92 , 0xDF , 0x94 , 0xE6 , 0x69 , 0xCD , 0xF6 , 0xFC , 0x82 , 0x9B , 0xDC , 0xD3 , 0x30 , 0x40 , 0xB1 ,
0x71 , 0x4F , 0x4A , 0x64 , 0xCB , 0xDC , 0x14 , 0xC8 , 0xC1 , 0x7F , 0x6F , 0x23 , 0xCE , 0xDD , 0x19 , 0x22 , 0x4F , 0x24 , 0x1E , 0x27 , 0x18 , 0x66 , 0x88 , 0x7A , 0x9A , 0x9A , 0x09 , 0x37 , 0x6D , 0x65 , 0x15 , 0xE8 , 0x28 , 0x5E ,
0x82 , 0xEB , 0x5B , 0x82 , 0xE8 , 0x8A , 0xAC , 0x8F , 0xC3 , 0x6C , 0xEE , 0xF0 , 0x3E , 0x20 , 0xCB , 0xC7 } ;
Assert . AreEqual ( "CN=CASTOR\\poupou" , x . Issuer , "Issuer" ) ;
Assert . AreEqual ( "CN=CASTOR\\poupou" , x . GetIssuerName ( ) , "GetIssuerName" ) ;
Assert . AreEqual ( "CN=CASTOR\\poupou" , x . Subject , "Subject" ) ;
Assert . AreEqual ( "CN=CASTOR\\poupou" , x . GetName ( ) , "GetName" ) ;
byte [ ] hash = { 0x1D , 0x53 , 0xCC , 0x89 , 0xD0 , 0x9F , 0x11 , 0x4A , 0x48 , 0x7F , 0x7F , 0x52 , 0x9E , 0xCB , 0xD1 , 0x86 , 0xA3 , 0xD5 , 0x85 , 0x29 } ;
Assert . AreEqual ( hash , x . GetCertHash ( ) , "GetCertHash" ) ;
Assert . AreEqual ( "1D53CC89D09F114A487F7F529ECBD186A3D58529" , x . GetCertHashString ( ) , "GetCertHashString" ) ;
long from = DateTime . Parse ( x . GetEffectiveDateString ( ) ) . ToUniversalTime ( ) . Ticks ;
Assert . AreEqual ( 632538347270000000 , from , "GetEffectiveDateString" ) ;
long until = DateTime . Parse ( x . GetExpirationDateString ( ) ) . ToUniversalTime ( ) . Ticks ;
Assert . AreEqual ( 632853923270000000 , until , "GetExpirationDateString" ) ;
Assert . AreEqual ( "X509" , x . GetFormat ( ) , "GetFormat" ) ;
Assert . AreEqual ( 492031113 , x . GetHashCode ( ) , "GetHashCode" ) ;
Assert . AreEqual ( "1.2.840.113549.1.1.1" , x . GetKeyAlgorithm ( ) , "GetKeyAlgorithm" ) ;
byte [ ] keyparams = { 0x05 , 0x00 } ;
Assert . AreEqual ( keyparams , x . GetKeyAlgorithmParameters ( ) , "GetKeyAlgorithmParameters" ) ;
Assert . AreEqual ( "0500" , x . GetKeyAlgorithmParametersString ( ) , "GetKeyAlgorithmParametersString" ) ;
byte [ ] pubkey = { 0x30 , 0x81 , 0x89 , 0x02 , 0x81 , 0x81 , 0x00 , 0xDA , 0xEA , 0x39 , 0x38 , 0xF6 , 0x3A , 0xF4 , 0x8B , 0xF9 , 0xE2 , 0xC7 , 0xD5 , 0x2C , 0xF9 , 0x1A , 0xD5 , 0x75 , 0xCF , 0x17 , 0xAC , 0xB3 , 0x46 , 0xBD , 0x7F , 0x3F , 0x97 , 0x38 , 0x2E , 0x10 , 0x41 , 0xB2 , 0xC4 , 0xD9 , 0x14 , 0x15 , 0xD8 , 0xE6 , 0xF9 , 0x11 , 0x38 , 0x80 , 0x75 , 0xE3 , 0xD7 , 0x1F , 0xC0 , 0x86 ,
0xA7 , 0x3E , 0x02 , 0x11 , 0x04 , 0xE9 , 0x57 , 0xB5 , 0xD8 , 0x57 , 0x65 , 0x27 , 0x7B , 0x8F , 0xBA , 0xB9 , 0xEF , 0xA0 , 0x8F , 0x15 , 0x9C , 0xEC , 0x2F , 0x85 , 0x63 , 0x4E , 0x52 , 0x6B , 0xA6 , 0xE3 , 0x33 , 0xCA , 0x86 , 0x22 , 0xBA , 0xF9 , 0x06 , 0xE8 , 0xEC , 0xCB , 0xA7 , 0xA5 , 0xA8 , 0xE2 , 0x3E , 0xC7 , 0x21 , 0x74 , 0x4E , 0xC9 , 0xE9 , 0x05 , 0x5F , 0xAE , 0x78 , 0x12 ,
0x51 , 0x2F , 0xFA , 0x6A , 0x8F , 0x7C , 0xB0 , 0x64 , 0x2A , 0xFB , 0xB7 , 0xB2 , 0x40 , 0x91 , 0x20 , 0xE7 , 0x32 , 0x53 , 0x3F , 0x58 , 0xCA , 0x80 , 0xA2 , 0x41 , 0xC5 , 0x02 , 0x03 , 0x01 , 0x00 , 0x01 } ;
Assert . AreEqual ( pubkey , x . GetPublicKey ( ) , "GetPublicKey" ) ;
Assert . AreEqual ( "30818902818100DAEA3938F63AF48BF9E2C7D52CF91AD575CF17ACB346BD7F3F97382E1041B2C4D91415D8E6F911388075E3D71FC086A73E021104E957B5D85765277B8FBAB9EFA08F159CEC2F85634E526BA6E333CA8622BAF906E8ECCBA7A5A8E23EC721744EC9E9055FAE7812512FFA6A8F7CB0642AFBB7B2409120E732533F58CA80A241C50203010001" , x . GetPublicKeyString ( ) , "GetPublicKeyString" ) ;
Assert . AreEqual ( cert , x . GetRawCertData ( ) , "GetRawCertData" ) ;
byte [ ] serial = { 0x69 , 0x47 , 0x15 , 0x78 , 0xCA , 0x15 , 0x80 , 0x44 , 0x9E , 0x1E , 0x9B , 0x53 , 0x48 , 0xAE , 0x75 , 0xC7 } ;
Assert . AreEqual ( serial , x . GetSerialNumber ( ) , "GetSerialNumber" ) ;
Assert . AreEqual ( "C775AE48539B1E9E448015CA78154769" , x . GetSerialNumberString ( ) , "GetSerialNumberString" ) ;
}
[Test]
public void Base64_AsByteArray_Properties ( )
{
// note: the X509Certificate(string) ctor is used for a filename
byte [ ] raw = Encoding . ASCII . GetBytes ( base64_cert ) ;
CheckBase64 ( new X509Certificate ( raw ) ) ;
}
[Test]
public void Base64_AsFile_Properties ( )
{
string temp = Path . GetTempFileName ( ) ;
try {
using ( StreamWriter sw = new StreamWriter ( temp ) ) {
sw . Write ( base64_cert ) ;
}
CheckBase64 ( new X509Certificate ( temp ) ) ;
}
finally {
if ( File . Exists ( temp ) )
File . Delete ( temp ) ;
}
}
private bool RunningOnWindows ( )
{
int i = ( int ) Environment . OSVersion . Platform ;
return ( ( i ! = 4 ) & & ( i ! = 128 ) ) ;
}
[Test]
public void Base64_AsStringData ( )
{
try {
new X509Certificate ( base64_cert ) ;
Assert . Fail ( "Expected ArgumentException(Windows) or PathTooLongException(Linux)" ) ;
}
catch ( ArgumentException ) {
// path is invalid on Windows
if ( ! RunningOnWindows ( ) )
throw ;
}
catch ( PathTooLongException ) {
// path is too long on Linux
if ( RunningOnWindows ( ) )
throw ;
}
catch ( DirectoryNotFoundException ) {
}
catch ( Exception e ) {
Assert . Fail ( e . ToString ( ) ) ;
}
}
[Test]
[ExpectedException (typeof (CryptographicException))]
2017-04-10 11:41:01 +00:00
[Category ("MacNotWorking")] // SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates https://bugzilla.xamarin.com/show_bug.cgi?id=53689
2014-08-13 10:39:27 +01:00
public void Pkcs7_Ctor ( )
{
new X509Certificate ( farscape_pkcs7 ) ;
}
[Test]
[ExpectedException (typeof (CryptographicException))]
2017-04-10 11:41:01 +00:00
[Category ("MacNotWorking")] // SecCertificateCreateWithData does different things on 10.11 vs 10.12 with invalid certificates https://bugzilla.xamarin.com/show_bug.cgi?id=53689
2014-08-13 10:39:27 +01:00
public void Pkcs7_Import ( )
{
X509Certificate x = new X509Certificate ( ) ;
x . Import ( farscape_pkcs7 ) ;
}
}
}