@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
593 lines (590 loc) • 34.6 kB
JavaScript
import { LogLevel } from '../diagnostics/log-level';
import { Logging } from '../diagnostics/logging';
export class LanguageInventory {
neutralCultures = [
{ id: 'en-US', name: 'English', localizedName: 'English' },
{ id: 'cs-CZ', name: 'Czech', localizedName: 'Čeština' },
{ id: 'de-DE', name: 'German', localizedName: 'Deutsch' },
{ id: 'es-ES', name: 'Spanish', localizedName: 'Español' },
{ id: 'fr-FR', name: 'French', localizedName: 'Français' },
{ id: 'hu-HU', name: 'Hungarian', localizedName: 'Magyar' },
{ id: 'it-IT', name: 'Italian', localizedName: 'Italiano' },
{ id: 'ja-JP', name: 'Japanese', localizedName: '日本語' },
{ id: 'ko-KR', name: 'Korean', localizedName: '한국어' },
{ id: 'nl-NL', name: 'Dutch', localizedName: 'Nederlands' },
{ id: 'pl-PL', name: 'Polish', localizedName: 'Polski' },
{ id: 'pt-BR', name: 'Portuguese (Brasil)', localizedName: 'Português (Brasil)' },
{ id: 'pt-PT', name: 'Portuguese (Portugal)', localizedName: 'Português (Portugal)' },
{ id: 'ru-RU', name: 'Russian', localizedName: 'Русский' },
{ id: 'sv-SE', name: 'Swedish', localizedName: 'Svenska' },
{ id: 'tr-TR', name: 'Turkish', localizedName: 'Türkçe' },
{ id: 'zh-CN', name: 'Chinese (Simplified)', localizedName: '中文(简体)' },
{ id: 'zh-TW', name: 'Chinese (Traditional)', localizedName: '中文(繁體)' }
];
get regionalCultures() {
return this.getRegionalCulturesMap();
}
getRegionalCulturesMap() {
const otherCultures = [
this.makeGermanCulture('be', 'Belgium', 'Belgien'),
this.makeGermanCulture('de', 'Germany', 'Deutschland'),
this.makeGermanCulture('li', 'Liechtenstein', 'Liechtenstein'),
this.makeGermanCulture('lu', 'Luxembourg', 'Luxemburg'),
this.makeGermanCulture('ch', 'Switzerland', 'Schweiz'),
this.makeGermanCulture('at', 'Austria', 'Österreich'),
this.makeEnglishCulture('as', 'American Samoa'),
this.makeEnglishCulture('ai', 'Anguilla'),
this.makeEnglishCulture('ag', 'Antigua and Barbuda'),
this.makeEnglishCulture('au', 'Australia'),
this.makeEnglishCulture('bs', 'Bahamas'),
this.makeEnglishCulture('bb', 'Barbados'),
this.makeEnglishCulture('be', 'Belgium'),
this.makeEnglishCulture('bz', 'Belize'),
this.makeEnglishCulture('bm', 'Bermuda'),
this.makeEnglishCulture('bw', 'Botswana'),
this.makeEnglishCulture('io', 'British Indian Ocean Territory'),
this.makeEnglishCulture('vg', 'British Virgin Islands'),
this.makeEnglishCulture('cm', 'Cameroon'),
this.makeEnglishCulture('ca', 'Canada'),
this.makeEnglishCulture('029', 'Caribbean'),
this.makeEnglishCulture('ky', 'Cayman Islands'),
this.makeEnglishCulture('cx', 'Christmas Island'),
this.makeEnglishCulture('cc', 'Cocos (Keeling) Islands'),
this.makeEnglishCulture('ck', 'Cook Islands'),
this.makeEnglishCulture('dm', 'Dominica'),
this.makeEnglishCulture('er', 'Eritrea'),
this.makeEnglishCulture('150', 'Europe'),
this.makeEnglishCulture('fk', 'Falkland Islands'),
this.makeEnglishCulture('fj', 'Fiji'),
this.makeEnglishCulture('gm', 'Gambia'),
this.makeEnglishCulture('gh', 'Ghana'),
this.makeEnglishCulture('gi', 'Gibraltar'),
this.makeEnglishCulture('gd', 'Grenada'),
this.makeEnglishCulture('gu', 'Guam'),
this.makeEnglishCulture('gg', 'Guernsey'),
this.makeEnglishCulture('gy', 'Guyana'),
this.makeEnglishCulture('hk', 'Hong Kong SAR'),
this.makeEnglishCulture('in', 'India'),
this.makeEnglishCulture('ie', 'Ireland'),
this.makeEnglishCulture('im', 'Isle of Man'),
this.makeEnglishCulture('jm', 'Jamaica'),
this.makeEnglishCulture('je', 'Jersey'),
this.makeEnglishCulture('ke', 'Kenya'),
this.makeEnglishCulture('ki', 'Kiribati'),
this.makeEnglishCulture('ls', 'Lesotho'),
this.makeEnglishCulture('lr', 'Liberia'),
this.makeEnglishCulture('mo', 'Macao SAR'),
this.makeEnglishCulture('mg', 'Madagascar'),
this.makeEnglishCulture('mw', 'Malawi'),
this.makeEnglishCulture('my', 'Malaysia'),
this.makeEnglishCulture('mt', 'Malta'),
this.makeEnglishCulture('mh', 'Marshall Islands'),
this.makeEnglishCulture('mu', 'Mauritius'),
this.makeEnglishCulture('fm', 'Micronesia'),
this.makeEnglishCulture('ms', 'Montserrat'),
this.makeEnglishCulture('na', 'Namibia'),
this.makeEnglishCulture('nr', 'Nauru'),
this.makeEnglishCulture('nz', 'New Zealand'),
this.makeEnglishCulture('ng', 'Nigeria'),
this.makeEnglishCulture('nu', 'Niue'),
this.makeEnglishCulture('nf', 'Norfolk Island'),
this.makeEnglishCulture('mp', 'Northern Mariana Islands'),
this.makeEnglishCulture('pk', 'Pakistan'),
this.makeEnglishCulture('pw', 'Palau'),
this.makeEnglishCulture('pg', 'Papua New Guinea'),
this.makeEnglishCulture('ph', 'Philippines'),
this.makeEnglishCulture('pn', 'Pitcairn Islands'),
this.makeEnglishCulture('pr', 'Puerto Rico'),
this.makeEnglishCulture('rw', 'Rwanda'),
this.makeEnglishCulture('kn', 'Saint Kitts and Nevis'),
this.makeEnglishCulture('lc', 'Saint Lucia'),
this.makeEnglishCulture('vc', 'Saint Vincent and the Grenadines'),
this.makeEnglishCulture('ws', 'Samoa'),
this.makeEnglishCulture('sc', 'Seychelles'),
this.makeEnglishCulture('sl', 'Sierra Leone'),
this.makeEnglishCulture('sg', 'Singapore'),
this.makeEnglishCulture('sx', 'Sint Maarten'),
this.makeEnglishCulture('sb', 'Solomon Islands'),
this.makeEnglishCulture('za', 'South Africa'),
this.makeEnglishCulture('ss', 'South Sudan'),
this.makeEnglishCulture('sh', 'St Helena, Ascension, Tristan da Cunha'),
this.makeEnglishCulture('sd', 'Sudan'),
this.makeEnglishCulture('sz', 'Swaziland'),
this.makeEnglishCulture('tz', 'Tanzania'),
this.makeEnglishCulture('tk', 'Tokelau'),
this.makeEnglishCulture('to', 'Tonga'),
this.makeEnglishCulture('tt', 'Trinidad and Tobago'),
this.makeEnglishCulture('tc', 'Turks and Caicos Islands'),
this.makeEnglishCulture('tv', 'Tuvalu'),
this.makeEnglishCulture('um', 'U.S. Outlying Islands'),
this.makeEnglishCulture('vi', 'U.S. Virgin Islands'),
this.makeEnglishCulture('ug', 'Uganda'),
this.makeEnglishCulture('gb', 'United Kingdom'),
this.makeEnglishCulture('us', 'United States'),
this.makeEnglishCulture('vu', 'Vanuatu'),
this.makeEnglishCulture('001', 'World'),
this.makeEnglishCulture('zm', 'Zambia'),
this.makeEnglishCulture('zw', 'Zimbabwe'),
this.makeSpanishCulture('ar', 'Argentina', 'Argentina'),
this.makeSpanishCulture('bo', 'Bolivia', 'Bolivia'),
this.makeSpanishCulture('cl', 'Chile', 'Chile'),
this.makeSpanishCulture('co', 'Colombia', 'Colombia'),
this.makeSpanishCulture('cr', 'Costa Rica', 'Costa Rica'),
this.makeSpanishCulture('cu', 'Cuba', 'Cuba'),
this.makeSpanishCulture('ec', 'Ecuador', 'Ecuador'),
this.makeSpanishCulture('sv', 'El Salvador', 'El Salvador'),
this.makeSpanishCulture('es', 'Spain, International Sort', 'España, alfabetización internacional'),
this.makeSpanishCulture('us', 'United States', 'Estados Unidos'),
this.makeSpanishCulture('ph', 'Philippines', 'Filipinas'),
this.makeSpanishCulture('gt', 'Guatemala', 'Guatemala'),
this.makeSpanishCulture('gq', 'Equatorial Guinea', 'Guinea Ecuatorial'),
this.makeSpanishCulture('hn', 'Honduras', 'Honduras'),
this.makeSpanishCulture('419', 'Latin America', 'Latinoamérica'),
this.makeSpanishCulture('mx', 'Mexico', 'México'),
this.makeSpanishCulture('ni', 'Nicaragua', 'Nicaragua'),
this.makeSpanishCulture('pa', 'Panama', 'Panamá'),
this.makeSpanishCulture('py', 'Paraguay', 'Paraguay'),
this.makeSpanishCulture('pe', 'Peru', 'Perú'),
this.makeSpanishCulture('pr', 'Puerto Rico', 'Puerto Rico'),
this.makeSpanishCulture('do', 'Dominican Republic', 'República Dominicana'),
this.makeSpanishCulture('uy', 'Uruguay', 'Uruguay'),
this.makeSpanishCulture('ve', 'Venezuela', 'Venezuela'),
this.makeFrenchCulture('dz', 'Algeria', 'Algérie'),
this.makeFrenchCulture('be', 'Belgium', 'Belgique'),
this.makeFrenchCulture('bf', 'Burkina Faso', 'Burkina Faso'),
this.makeFrenchCulture('bi', 'Burundi', 'Burundi'),
this.makeFrenchCulture('bj', 'Benin', 'Bénin'),
this.makeFrenchCulture('cm', 'Cameroon', 'Cameroun'),
this.makeFrenchCulture('ca', 'Canada', 'Canada'),
this.makeFrenchCulture('km', 'Comoros', 'Comores'),
this.makeFrenchCulture('cg', 'Congo', 'Congo'),
this.makeFrenchCulture('cd', 'French Congo (DRC)', 'Congo, République démocratique du'),
this.makeFrenchCulture('ci', 'Côte d’Ivoire', 'Côte d’Ivoire'),
this.makeFrenchCulture('dj', 'Djibouti', 'Djibouti'),
this.makeFrenchCulture('fr', 'France', 'France'),
this.makeFrenchCulture('ga', 'Gabon', 'Gabon'),
this.makeFrenchCulture('gp', 'Guadeloupe', 'Guadeloupe'),
this.makeFrenchCulture('gq', 'Equatorial Guinea', 'Guinée équatoriale'),
this.makeFrenchCulture('gn', 'Guinea', 'Guinée'),
this.makeFrenchCulture('gf', 'French Guiana', 'Guyane française'),
this.makeFrenchCulture('ht', 'Haiti', 'Haïti'),
this.makeFrenchCulture('re', 'Réunion', 'La Réunion'),
this.makeFrenchCulture('lu', 'Luxembourg', 'Luxembourg'),
this.makeFrenchCulture('mg', 'Madagascar', 'Madagascar'),
this.makeFrenchCulture('ml', 'Mali', 'Mali'),
this.makeFrenchCulture('ma', 'Morocco', 'Maroc'),
this.makeFrenchCulture('mq', 'Martinique', 'Martinique'),
this.makeFrenchCulture('mu', 'Mauritius', 'Maurice'),
this.makeFrenchCulture('mr', 'Mauritania', 'Mauritanie'),
this.makeFrenchCulture('yt', 'Mayotte', 'Mayotte'),
this.makeFrenchCulture('mc', 'Monaco', 'Monaco'),
this.makeFrenchCulture('ne', 'Niger', 'Niger'),
this.makeFrenchCulture('nc', 'New Caledonia', 'Nouvelle-Calédonie'),
this.makeFrenchCulture('pf', 'French Polynesia', 'Polynésie française'),
this.makeFrenchCulture('rw', 'Rwanda', 'Rwanda'),
this.makeFrenchCulture('cf', 'Central African Republic', 'République centrafricaine'),
this.makeFrenchCulture('bl', 'Saint Barthélemy', 'Saint-Barthélemy'),
this.makeFrenchCulture('mf', 'Saint Martin', 'Saint-Martin'),
this.makeFrenchCulture('pm', 'Saint Pierre and Miquelon', 'Saint-Pierre-et-Miquelon'),
this.makeFrenchCulture('sc', 'Seychelles', 'Seychelles'),
this.makeFrenchCulture('ch', 'Switzerland', 'Suisse'),
this.makeFrenchCulture('sy', 'Syria', 'Syrie'),
this.makeFrenchCulture('sn', 'Senegal', 'Sénégal'),
this.makeFrenchCulture('td', 'Chad', 'Tchad'),
this.makeFrenchCulture('tg', 'Togo', 'Togo'),
this.makeFrenchCulture('tn', 'Tunisia', 'Tunisie'),
this.makeFrenchCulture('vu', 'Vanuatu', 'Vanuatu'),
this.makeFrenchCulture('wf', 'Wallis and Futuna', 'Wallis-et-Futuna'),
['it-IT', 'Italian (Italy)', 'Italiano (Italia)'],
['it-SM', 'Italian (San Marino)', 'Italiano (San Marino)'],
['it-CH', 'Italian (Switzerland)', 'Italiano (Svizzera)'],
['hu-HU', 'Hungarian (Hungary)', 'Magyar (Magyarország)'],
['nl-AW', 'Dutch (Aruba)', 'Nederlands (Aruba)'],
['nl-BE', 'Dutch (Belgium)', 'Nederlands (België)'],
['nl-BQ', 'Dutch (Bonaire, Sint Eustatius and Saba)', 'Nederlands (Bonaire, Sint Eustatius en Saba)'],
['nl-CW', 'Dutch (Curaçao)', 'Nederlands (Curaçao)'],
['nl-NL', 'Dutch (Netherlands)', 'Nederlands (Nederland)'],
['nl-SX', 'Dutch (Sint Maarten)', 'Nederlands (Sint-Maarten)'],
['nl-SR', 'Dutch (Suriname)', 'Nederlands (Suriname)'],
['pl-PL', 'Polish (Poland)', 'Polski (Polska)'],
this.makePortugueseCulture('br', 'Brazil', 'Brasil'),
this.makePortugueseCulture('pt', 'Portugal', 'Portugal'),
['sv-FI', 'Swedish (Finland)', 'Svenska (Finland)'],
['sv-SE', 'Swedish (Sweden)', 'Svenska (Sverige)'],
['sv-AX', 'Swedish (Åland Islands)', 'Svenska (Åland)'],
['tr-CY', 'Turkish (Cyprus)', 'Türkçe (Kıbrıs)'],
['tr-TR', 'Turkish (Turkey)', 'Türkçe (Türkiye)'],
['cs-CZ', 'Czech (Czechia)', 'Čeština (Česko)'],
['ru-BY', 'Russian (Belarus)', 'Русский (Беларусь)'],
['ru-KZ', 'Russian (Kazakhstan)', 'Русский (Казахстан)'],
['ru-KG', 'Russian (Kyrgyzstan)', 'Русский (Киргизия)'],
['ru-MD', 'Russian (Moldova)', 'Русский (Молдова)'],
['ru-RU', 'Russian (Russia)', 'Русский (Россия)'],
['ru-UA', 'Russian (Ukraine)', 'Русский (Украина)'],
['zh-CN', 'Chinese (Simplified, China)', '中文(中国)'],
['zh-TW', 'Chinese (Traditional, Taiwan)', '中文(台灣)'],
['zh-SG', 'Chinese (Simplified, Singapore)', '中文(新加坡)'],
['zh-MO', 'Chinese (Traditional, Macao SAR)', '中文(澳門特別行政區)'],
['zh-HK', 'Chinese (Traditional, Hong Kong SAR)', '中文(香港特別行政區)'],
['ja-JP', 'Japanese (Japan)', '日本語 (日本)'],
['ko-KP', 'Korean (North Korea)', '한국어 (조선민주주의인민공화국)'],
['ko-KR', 'Korean (Korea)', '한국어(대한민국)']
];
const map = [];
otherCultures.forEach(item => {
const lang = {
id: item[0],
name: item[1],
localizedName: item[2]
};
// Windows Admin Center uses browser's native Intl supports.
// Microsoft Edge and Chrome return different locale ID with the following API,
// here it checks only if it responds with supported one item.
const support = Intl.DateTimeFormat.supportedLocalesOf(lang.id);
if (support.length === 1) {
map.push(lang);
}
else if (Intl.DateTimeFormat.supportedLocalesOf('ja-JP').length > 0) {
// Test environment lack of standard language support like ja-JP.
// If there is ja-JP but this reginal code is not supporte, sprits out warning message.
// This doesn't happen on Microsoft Edge and Google Chrome.
Logging.log({
level: LogLevel.Warning,
source: 'core/language',
message: 'Unsupporte regional language by Intl.DateTimeFormat.supportedLocalesOf("{0}")'.format(lang.id)
});
}
});
return map;
}
makeEnglishCulture(code, englishSubCulture) {
return [`en-${code.toUpperCase()}`, `English (${englishSubCulture})`, `English (${englishSubCulture})`];
}
makeGermanCulture(code, englishSubCulture, nativeSubCulture) {
return [`de-${code.toUpperCase()}`, `German (${englishSubCulture})`, `Deutsch (${nativeSubCulture})`];
}
makeSpanishCulture(code, englishSubCulture, nativeSubCulture) {
return [`es-${code.toUpperCase()}`, `Spanish (${englishSubCulture})`, `Español (${nativeSubCulture})`];
}
makeFrenchCulture(code, englishSubCulture, nativeSubCulture) {
return [`fr-${code.toUpperCase()}`, `French (${englishSubCulture})`, `Français (${nativeSubCulture})`];
}
makePortugueseCulture(code, englishSubCulture, nativeSubCulture) {
return [`pt-${code.toUpperCase()}`, `Portuguese (${englishSubCulture})`, `Português (${nativeSubCulture})`];
}
}
//# sourceMappingURL=language.js.map
// SIG // Begin signature block
// SIG // MIIoJwYJKoZIhvcNAQcCoIIoGDCCKBQCAQExDzANBglg
// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
// SIG // g/j8BtbNm5hPKKXqIIafj9Rc7t7yfKwK6TY+MneYq+ig
// SIG // gg12MIIF9DCCA9ygAwIBAgITMwAABARsdAb/VysncgAA
// SIG // AAAEBDANBgkqhkiG9w0BAQsFADB+MQswCQYDVQQGEwJV
// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
// SIG // cmF0aW9uMSgwJgYDVQQDEx9NaWNyb3NvZnQgQ29kZSBT
// SIG // aWduaW5nIFBDQSAyMDExMB4XDTI0MDkxMjIwMTExNFoX
// SIG // DTI1MDkxMTIwMTExNFowdDELMAkGA1UEBhMCVVMxEzAR
// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
// SIG // bjEeMBwGA1UEAxMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
// SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
// SIG // tCg32mOdDA6rBBnZSMwxwXegqiDEUFlvQH9Sxww07hY3
// SIG // w7L52tJxLg0mCZjcszQddI6W4NJYb5E9QM319kyyE0l8
// SIG // EvA/pgcxgljDP8E6XIlgVf6W40ms286Cr0azaA1f7vaJ
// SIG // jjNhGsMqOSSSXTZDNnfKs5ENG0bkXeB2q5hrp0qLsm/T
// SIG // WO3oFjeROZVHN2tgETswHR3WKTm6QjnXgGNj+V6rSZJO
// SIG // /WkTqc8NesAo3Up/KjMwgc0e67x9llZLxRyyMWUBE9co
// SIG // T2+pUZqYAUDZ84nR1djnMY3PMDYiA84Gw5JpceeED38O
// SIG // 0cEIvKdX8uG8oQa047+evMfDRr94MG9EWwIDAQABo4IB
// SIG // czCCAW8wHwYDVR0lBBgwFgYKKwYBBAGCN0wIAQYIKwYB
// SIG // BQUHAwMwHQYDVR0OBBYEFPIboTWxEw1PmVpZS+AzTDwo
// SIG // oxFOMEUGA1UdEQQ+MDykOjA4MR4wHAYDVQQLExVNaWNy
// SIG // b3NvZnQgQ29ycG9yYXRpb24xFjAUBgNVBAUTDTIzMDAx
// SIG // Mis1MDI5MjMwHwYDVR0jBBgwFoAUSG5k5VAF04KqFzc3
// SIG // IrVtqMp1ApUwVAYDVR0fBE0wSzBJoEegRYZDaHR0cDov
// SIG // L3d3dy5taWNyb3NvZnQuY29tL3BraW9wcy9jcmwvTWlj
// SIG // Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNybDBhBggr
// SIG // BgEFBQcBAQRVMFMwUQYIKwYBBQUHMAKGRWh0dHA6Ly93
// SIG // d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWlj
// SIG // Q29kU2lnUENBMjAxMV8yMDExLTA3LTA4LmNydDAMBgNV
// SIG // HRMBAf8EAjAAMA0GCSqGSIb3DQEBCwUAA4ICAQCI5g/S
// SIG // KUFb3wdUHob6Qhnu0Hk0JCkO4925gzI8EqhS+K4umnvS
// SIG // BU3acsJ+bJprUiMimA59/5x7WhJ9F9TQYy+aD9AYwMtb
// SIG // KsQ/rst+QflfML+Rq8YTAyT/JdkIy7R/1IJUkyIS6srf
// SIG // G1AKlX8n6YeAjjEb8MI07wobQp1F1wArgl2B1mpTqHND
// SIG // lNqBjfpjySCScWjUHNbIwbDGxiFr93JoEh5AhJqzL+8m
// SIG // onaXj7elfsjzIpPnl8NyH2eXjTojYC9a2c4EiX0571Ko
// SIG // mhENF3RtR25A7/X7+gk6upuE8tyMy4sBkl2MUSF08U+E
// SIG // 2LOVcR8trhYxV1lUi9CdgEU2CxODspdcFwxdT1+G8YNc
// SIG // gzHyjx3BNSI4nOZcdSnStUpGhCXbaOIXfvtOSfQX/UwJ
// SIG // oruhCugvTnub0Wna6CQiturglCOMyIy/6hu5rMFvqk9A
// SIG // ltIJ0fSR5FwljW6PHHDJNbCWrZkaEgIn24M2mG1M/Ppb
// SIG // /iF8uRhbgJi5zWxo2nAdyDBqWvpWxYIoee/3yIWpquVY
// SIG // cYGhJp/1I1sq/nD4gBVrk1SKX7Do2xAMMO+cFETTNSJq
// SIG // fTSSsntTtuBLKRB5mw5qglHKuzapDiiBuD1Zt4QwxA/1
// SIG // kKcyQ5L7uBayG78kxlVNNbyrIOFH3HYmdH0Pv1dIX/Mq
// SIG // 7avQpAfIiLpOWwcbjzCCB3owggVioAMCAQICCmEOkNIA
// SIG // AAAAAAMwDQYJKoZIhvcNAQELBQAwgYgxCzAJBgNVBAYT
// SIG // AlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQH
// SIG // EwdSZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29y
// SIG // cG9yYXRpb24xMjAwBgNVBAMTKU1pY3Jvc29mdCBSb290
// SIG // IENlcnRpZmljYXRlIEF1dGhvcml0eSAyMDExMB4XDTEx
// SIG // MDcwODIwNTkwOVoXDTI2MDcwODIxMDkwOVowfjELMAkG
// SIG // A1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAO
// SIG // BgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29m
// SIG // dCBDb3Jwb3JhdGlvbjEoMCYGA1UEAxMfTWljcm9zb2Z0
// SIG // IENvZGUgU2lnbmluZyBQQ0EgMjAxMTCCAiIwDQYJKoZI
// SIG // hvcNAQEBBQADggIPADCCAgoCggIBAKvw+nIQHC6t2G6q
// SIG // ghBNNLrytlghn0IbKmvpWlCquAY4GgRJun/DDB7dN2vG
// SIG // EtgL8DjCmQawyDnVARQxQtOJDXlkh36UYCRsr55JnOlo
// SIG // XtLfm1OyCizDr9mpK656Ca/XllnKYBoF6WZ26DJSJhIv
// SIG // 56sIUM+zRLdd2MQuA3WraPPLbfM6XKEW9Ea64DhkrG5k
// SIG // NXimoGMPLdNAk/jj3gcN1Vx5pUkp5w2+oBN3vpQ97/vj
// SIG // K1oQH01WKKJ6cuASOrdJXtjt7UORg9l7snuGG9k+sYxd
// SIG // 6IlPhBryoS9Z5JA7La4zWMW3Pv4y07MDPbGyr5I4ftKd
// SIG // gCz1TlaRITUlwzluZH9TupwPrRkjhMv0ugOGjfdf8NBS
// SIG // v4yUh7zAIXQlXxgotswnKDglmDlKNs98sZKuHCOnqWbs
// SIG // YR9q4ShJnV+I4iVd0yFLPlLEtVc/JAPw0XpbL9Uj43Bd
// SIG // D1FGd7P4AOG8rAKCX9vAFbO9G9RVS+c5oQ/pI0m8GLhE
// SIG // fEXkwcNyeuBy5yTfv0aZxe/CHFfbg43sTUkwp6uO3+xb
// SIG // n6/83bBm4sGXgXvt1u1L50kppxMopqd9Z4DmimJ4X7Iv
// SIG // hNdXnFy/dygo8e1twyiPLI9AN0/B4YVEicQJTMXUpUMv
// SIG // dJX3bvh4IFgsE11glZo+TzOE2rCIF96eTvSWsLxGoGyY
// SIG // 0uDWiIwLAgMBAAGjggHtMIIB6TAQBgkrBgEEAYI3FQEE
// SIG // AwIBADAdBgNVHQ4EFgQUSG5k5VAF04KqFzc3IrVtqMp1
// SIG // ApUwGQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYD
// SIG // VR0PBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j
// SIG // BBgwFoAUci06AjGQQ7kUBU7h6qfHMdEjiTQwWgYDVR0f
// SIG // BFMwUTBPoE2gS4ZJaHR0cDovL2NybC5taWNyb3NvZnQu
// SIG // Y29tL3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0
// SIG // MjAxMV8yMDExXzAzXzIyLmNybDBeBggrBgEFBQcBAQRS
// SIG // MFAwTgYIKwYBBQUHMAKGQmh0dHA6Ly93d3cubWljcm9z
// SIG // b2Z0LmNvbS9wa2kvY2VydHMvTWljUm9vQ2VyQXV0MjAx
// SIG // MV8yMDExXzAzXzIyLmNydDCBnwYDVR0gBIGXMIGUMIGR
// SIG // BgkrBgEEAYI3LgMwgYMwPwYIKwYBBQUHAgEWM2h0dHA6
// SIG // Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvZG9jcy9w
// SIG // cmltYXJ5Y3BzLmh0bTBABggrBgEFBQcCAjA0HjIgHQBM
// SIG // AGUAZwBhAGwAXwBwAG8AbABpAGMAeQBfAHMAdABhAHQA
// SIG // ZQBtAGUAbgB0AC4gHTANBgkqhkiG9w0BAQsFAAOCAgEA
// SIG // Z/KGpZjgVHkaLtPYdGcimwuWEeFjkplCln3SeQyQwWVf
// SIG // Liw++MNy0W2D/r4/6ArKO79HqaPzadtjvyI1pZddZYSQ
// SIG // fYtGUFXYDJJ80hpLHPM8QotS0LD9a+M+By4pm+Y9G6XU
// SIG // tR13lDni6WTJRD14eiPzE32mkHSDjfTLJgJGKsKKELuk
// SIG // qQUMm+1o+mgulaAqPyprWEljHwlpblqYluSD9MCP80Yr
// SIG // 3vw70L01724lruWvJ+3Q3fMOr5kol5hNDj0L8giJ1h/D
// SIG // Mhji8MUtzluetEk5CsYKwsatruWy2dsViFFFWDgycSca
// SIG // f7H0J/jeLDogaZiyWYlobm+nt3TDQAUGpgEqKD6CPxNN
// SIG // ZgvAs0314Y9/HG8VfUWnduVAKmWjw11SYobDHWM2l4bf
// SIG // 2vP48hahmifhzaWX0O5dY0HjWwechz4GdwbRBrF1HxS+
// SIG // YWG18NzGGwS+30HHDiju3mUv7Jf2oVyW2ADWoUa9WfOX
// SIG // pQlLSBCZgB/QACnFsZulP0V3HjXG0qKin3p6IvpIlR+r
// SIG // +0cjgPWe+L9rt0uX4ut1eBrs6jeZeRhL/9azI2h15q/6
// SIG // /IvrC4DqaTuv/DDtBEyO3991bWORPdGdVk5Pv4BXIqF4
// SIG // ETIheu9BCrE/+6jMpF3BoYibV3FWTkhFwELJm3ZbCoBI
// SIG // a/15n8G9bW1qyVJzEw16UM0xghoJMIIaBQIBATCBlTB+
// SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
// SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
// SIG // cm9zb2Z0IENvcnBvcmF0aW9uMSgwJgYDVQQDEx9NaWNy
// SIG // b3NvZnQgQ29kZSBTaWduaW5nIFBDQSAyMDExAhMzAAAE
// SIG // BGx0Bv9XKydyAAAAAAQEMA0GCWCGSAFlAwQCAQUAoIGu
// SIG // MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisG
// SIG // AQQBgjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3
// SIG // DQEJBDEiBCD5+zsKZ2GpD/4r9BWjB8CviiNTTIMK2uDV
// SIG // eLBTUmgj6jBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBp
// SIG // AGMAcgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNy
// SIG // b3NvZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBADG3u4b9
// SIG // zrhK70CcKEkRZNnfpa+nStfl7hqehnbozE7aJEmlSuTi
// SIG // Pb0Wmywk14FCA1KxBe48+UuiX9I+5bah+jELO30XSVLu
// SIG // hkX/zg+7FvirK4kjCIgEPrPPl15q8g6skix6j4IbwUC6
// SIG // kMnUnwJaESrnGG4OEMFux+C1tHfDEoocZbmkePI7h2zw
// SIG // YafZyPJPVgCmgZbLLQ1y1Qmt3WYnw8b3w0Pc8ZmMMuqd
// SIG // gIy36L2JOCAGMMdVkk5lNwjsVZUA50FrWdp05DlElGCw
// SIG // XKU1rsFqyscMwklH72x/aWARJtNcdDG0lrH3xdCFE9HE
// SIG // bpCUgAuMJQO6/yR8qKDAdIMNhRKhgheTMIIXjwYKKwYB
// SIG // BAGCNwMDATGCF38wghd7BgkqhkiG9w0BBwKgghdsMIIX
// SIG // aAIBAzEPMA0GCWCGSAFlAwQCAQUAMIIBUQYLKoZIhvcN
// SIG // AQkQAQSgggFABIIBPDCCATgCAQEGCisGAQQBhFkKAwEw
// SIG // MTANBglghkgBZQMEAgEFAAQgIkOGepgG6+sRiIUIPBnc
// SIG // UClHqLsA52mVW+r+Hw6LJIwCBmet2JkEqBgSMjAyNTAy
// SIG // MjAxNTI4MzguNzVaMASAAgH0oIHRpIHOMIHLMQswCQYD
// SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G
// SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0
// SIG // IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQg
// SIG // QW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hp
// SIG // ZWxkIFRTUyBFU046QTQwMC0wNUUwLUQ5NDcxJTAjBgNV
// SIG // BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Wg
// SIG // ghHqMIIHIDCCBQigAwIBAgITMwAAAezgK6SC0JFSgAAB
// SIG // AAAB7DANBgkqhkiG9w0BAQsFADB8MQswCQYDVQQGEwJV
// SIG // UzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMH
// SIG // UmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBv
// SIG // cmF0aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1T
// SIG // dGFtcCBQQ0EgMjAxMDAeFw0yMzEyMDYxODQ1MzhaFw0y
// SIG // NTAzMDUxODQ1MzhaMIHLMQswCQYDVQQGEwJVUzETMBEG
// SIG // A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u
// SIG // ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
// SIG // MSUwIwYDVQQLExxNaWNyb3NvZnQgQW1lcmljYSBPcGVy
// SIG // YXRpb25zMScwJQYDVQQLEx5uU2hpZWxkIFRTUyBFU046
// SIG // QTQwMC0wNUUwLUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29m
// SIG // dCBUaW1lLVN0YW1wIFNlcnZpY2UwggIiMA0GCSqGSIb3
// SIG // DQEBAQUAA4ICDwAwggIKAoICAQCwR/RuCTbgxUWVm/Vd
// SIG // ul22uwdEZm0IoAFs6oIr39VK/ItP80cn+8TmtP67iabB
// SIG // 4DmAKJ9GH6dJGhEPJpY4vTKRSOwrRNxVIKoPPeUF3f4V
// SIG // yHEco/u1QUadlwD132NuZCxbnh6Mi2lLG7pDvszZqMG7
// SIG // S3MCi2bk2nvtGKdeAIL+H77gL4r01TSWb7rsE2Jb1P/N
// SIG // 6Y/W1CqDi1/Ib3/zRqWXt4zxvdIGcPjS4ZKyQEF3SEZA
// SIG // q4XIjiyowPHaqNbZxdf2kWO/ajdfTU85t934CXAinb0o
// SIG // +uQ9KtaKNLVVcNf5QpS4f6/MsXOvIFuCYMRdKDjpmvow
// SIG // AeL+1j27bCxCBpDQHrWkfPzZp/X+bt9C7E5hPP6HVRoq
// SIG // BYR7u1gUf5GEq+5r1HA0jajn0Q6OvfYckE0HdOv6KWa+
// SIG // sAmJG7PDvTZae77homzx6IPqggVpNZuCk79SfVmnKu9F
// SIG // 58UAnU58TqDHEzGsQnMUQKstS3zjn6SU0NLEFNCetlua
// SIG // KkqWDRVLEWbu329IEh3tqXPXfy6Rh/wCbwe9SCJIoqtB
// SIG // exBrPyQYA2Xaz1fK9ysTsx0kA9V1JwVV44Ia9c+MwtAR
// SIG // 6sqKdAgRo/bs/Xu8gua8LDe6KWyu974e9mGW7ZO8narD
// SIG // FrAT1EXGHDueygSKvv2K7wB8lAgMGJj73CQvr+jqoWwx
// SIG // 6XdyeQIDAQABo4IBSTCCAUUwHQYDVR0OBBYEFPRa0Edk
// SIG // /iv1whYQsV8UgEf4TIWGMB8GA1UdIwQYMBaAFJ+nFV0A
// SIG // XmJdg/Tl0mWnG1M1GelyMF8GA1UdHwRYMFYwVKBSoFCG
// SIG // Tmh0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMv
// SIG // Y3JsL01pY3Jvc29mdCUyMFRpbWUtU3RhbXAlMjBQQ0El
// SIG // MjAyMDEwKDEpLmNybDBsBggrBgEFBQcBAQRgMF4wXAYI
// SIG // KwYBBQUHMAKGUGh0dHA6Ly93d3cubWljcm9zb2Z0LmNv
// SIG // bS9wa2lvcHMvY2VydHMvTWljcm9zb2Z0JTIwVGltZS1T
// SIG // dGFtcCUyMFBDQSUyMDIwMTAoMSkuY3J0MAwGA1UdEwEB
// SIG // /wQCMAAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwDgYD
// SIG // VR0PAQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4ICAQCS
// SIG // vMSkMSrvjlDPag8ARb0OFrAQtSLMDpN0UY3FjvPhwGKD
// SIG // rrixmnuMfjrmVjRq1u8IhkDvGF/bffbFTr+IAnDSeg8T
// SIG // B9zfG/4ybknuopklbeGjbt7MLxpfholCERyEc20PMZKJ
// SIG // z9SvzfuO1n5xrrLOL8m0nmv5kBcv+y1AXJ5QcLicmhe2
// SIG // Ip3/D67Ed6oPqQI03mDjYaS1NQhBNtu57wPKXZ1EoNTo
// SIG // Bk8bA6839w119b+a9WToqIskdRGoP5xjDIv+mc0vBHhZ
// SIG // GkJVvfIhm4Ap8zptC7xVAly0jeOv5dUGMCYgZjvoTmgd
// SIG // 45bqAwundmPlGur7eleWYedLQf7s3L5+qfaY/xEh/9uo
// SIG // 17SnM/gHVSGAzvnreGhOrB2LtdKoVSe5LbYpihXctDe7
// SIG // 6iYtL+mhxXPEpzda3bJlhPTOQ3KOEZApVERBo5yltWjP
// SIG // CWlXxyCpl5jj9nY0nfd071bemnou8A3rUZrdgKIautsH
// SIG // 7SHOiOebZGqNu+622vJta3eAYsCAaxAcB9BiJPla7Xad
// SIG // 9qrTYdT45VlCYTtBSY4oVRsedSADv99jv/iYIAGy1bCy
// SIG // tua0o/Qqv9erKmzQCTVMXaDc25DTLcMGJrRua3K0xivd
// SIG // tnoBexzVJr6yXqM+Ba2whIVRvGcriBkKX0FJFeW7r29X
// SIG // X+k0e4DnG6iBHKQjec6VNzCCB3EwggVZoAMCAQICEzMA
// SIG // AAAVxedrngKbSZkAAAAAABUwDQYJKoZIhvcNAQELBQAw
// SIG // gYgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5n
// SIG // dG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVN
// SIG // aWNyb3NvZnQgQ29ycG9yYXRpb24xMjAwBgNVBAMTKU1p
// SIG // Y3Jvc29mdCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0
// SIG // eSAyMDEwMB4XDTIxMDkzMDE4MjIyNVoXDTMwMDkzMDE4
// SIG // MzIyNVowfDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh
// SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV
// SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UE
// SIG // AxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTAw
// SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDk
// SIG // 4aZM57RyIQt5osvXJHm9DtWC0/3unAcH0qlsTnXIyjVX
// SIG // 9gF/bErg4r25PhdgM/9cT8dm95VTcVrifkpa/rg2Z4VG
// SIG // Iwy1jRPPdzLAEBjoYH1qUoNEt6aORmsHFPPFdvWGUNzB
// SIG // RMhxXFExN6AKOG6N7dcP2CZTfDlhAnrEqv1yaa8dq6z2
// SIG // Nr41JmTamDu6GnszrYBbfowQHJ1S/rboYiXcag/PXfT+
// SIG // jlPP1uyFVk3v3byNpOORj7I5LFGc6XBpDco2LXCOMcg1
// SIG // KL3jtIckw+DJj361VI/c+gVVmG1oO5pGve2krnopN6zL
// SIG // 64NF50ZuyjLVwIYwXE8s4mKyzbnijYjklqwBSru+cakX
// SIG // W2dg3viSkR4dPf0gz3N9QZpGdc3EXzTdEonW/aUgfX78
// SIG // 2Z5F37ZyL9t9X4C626p+Nuw2TPYrbqgSUei/BQOj0XOm
// SIG // TTd0lBw0gg/wEPK3Rxjtp+iZfD9M269ewvPV2HM9Q07B
// SIG // MzlMjgK8QmguEOqEUUbi0b1qGFphAXPKZ6Je1yh2AuIz
// SIG // GHLXpyDwwvoSCtdjbwzJNmSLW6CmgyFdXzB0kZSU2LlQ
// SIG // +QuJYfM2BjUYhEfb3BvR/bLUHMVr9lxSUV0S2yW6r1AF
// SIG // emzFER1y7435UsSFF5PAPBXbGjfHCBUYP3irRbb1Hode
// SIG // 2o+eFnJpxq57t7c+auIurQIDAQABo4IB3TCCAdkwEgYJ
// SIG // KwYBBAGCNxUBBAUCAwEAATAjBgkrBgEEAYI3FQIEFgQU
// SIG // KqdS/mTEmr6CkTxGNSnPEP8vBO4wHQYDVR0OBBYEFJ+n
// SIG // FV0AXmJdg/Tl0mWnG1M1GelyMFwGA1UdIARVMFMwUQYM
// SIG // KwYBBAGCN0yDfQEBMEEwPwYIKwYBBQUHAgEWM2h0dHA6
// SIG // Ly93d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9S
// SIG // ZXBvc2l0b3J5Lmh0bTATBgNVHSUEDDAKBggrBgEFBQcD
// SIG // CDAZBgkrBgEEAYI3FAIEDB4KAFMAdQBiAEMAQTALBgNV
// SIG // HQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME
// SIG // GDAWgBTV9lbLj+iiXGJo0T2UkFvXzpoYxDBWBgNVHR8E
// SIG // TzBNMEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5j
// SIG // b20vcGtpL2NybC9wcm9kdWN0cy9NaWNSb29DZXJBdXRf
// SIG // MjAxMC0wNi0yMy5jcmwwWgYIKwYBBQUHAQEETjBMMEoG
// SIG // CCsGAQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5j
// SIG // b20vcGtpL2NlcnRzL01pY1Jvb0NlckF1dF8yMDEwLTA2
// SIG // LTIzLmNydDANBgkqhkiG9w0BAQsFAAOCAgEAnVV9/Cqt
// SIG // 4SwfZwExJFvhnnJL/Klv6lwUtj5OR2R4sQaTlz0xM7U5
// SIG // 18JxNj/aZGx80HU5bbsPMeTCj/ts0aGUGCLu6WZnOlNN
// SIG // 3Zi6th542DYunKmCVgADsAW+iehp4LoJ7nvfam++Kctu
// SIG // 2D9IdQHZGN5tggz1bSNU5HhTdSRXud2f8449xvNo32X2
// SIG // pFaq95W2KFUn0CS9QKC/GbYSEhFdPSfgQJY4rPf5KYnD
// SIG // vBewVIVCs/wMnosZiefwC2qBwoEZQhlSdYo2wh3DYXMu
// SIG // LGt7bj8sCXgU6ZGyqVvfSaN0DLzskYDSPeZKPmY7T7uG
// SIG // +jIa2Zb0j/aRAfbOxnT99kxybxCrdTDFNLB62FD+Cljd
// SIG // QDzHVG2dY3RILLFORy3BFARxv2T5JL5zbcqOCb2zAVdJ
// SIG // VGTZc9d/HltEAY5aGZFrDZ+kKNxnGSgkujhLmm77IVRr
// SIG // akURR6nxt67I6IleT53S0Ex2tVdUCbFpAUR+fKFhbHP+
// SIG // CrvsQWY9af3LwUFJfn6Tvsv4O+S3Fb+0zj6lMVGEvL8C
// SIG // wYKiexcdFYmNcP7ntdAoGokLjzbaukz5m/8K6TT4JDVn
// SIG // K+ANuOaMmdbhIurwJ0I9JZTmdHRbatGePu1+oDEzfbzL
// SIG // 6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNTTY3ugm2lBRDBcQZq
// SIG // ELQdVTNYs6FwZvKhggNNMIICNQIBATCB+aGB0aSBzjCB
// SIG // yzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjElMCMGA1UECxMcTWlj
// SIG // cm9zb2Z0IEFtZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UE
// SIG // CxMeblNoaWVsZCBUU1MgRVNOOkE0MDAtMDVFMC1EOTQ3
// SIG // MSUwIwYDVQQDExxNaWNyb3NvZnQgVGltZS1TdGFtcCBT
// SIG // ZXJ2aWNloiMKAQEwBwYFKw4DAhoDFQCOHPtgVdz9EW0i
// SIG // PNL/BXqJoqVMf6CBgzCBgKR+MHwxCzAJBgNVBAYTAlVT
// SIG // MRMwEQYDVQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdS
// SIG // ZWRtb25kMR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9y
// SIG // YXRpb24xJjAkBgNVBAMTHU1pY3Jvc29mdCBUaW1lLVN0
// SIG // YW1wIFBDQSAyMDEwMA0GCSqGSIb3DQEBCwUAAgUA62GR
// SIG // BDAiGA8yMDI1MDIyMDExMzExNloYDzIwMjUwMjIxMTEz
// SIG // MTE2WjB0MDoGCisGAQQBhFkKBAExLDAqMAoCBQDrYZEE
// SIG // AgEAMAcCAQACAhK5MAcCAQACAhMXMAoCBQDrYuKEAgEA
// SIG // MDYGCisGAQQBhFkKBAIxKDAmMAwGCisGAQQBhFkKAwKg
// SIG // CjAIAgEAAgMHoSChCjAIAgEAAgMBhqAwDQYJKoZIhvcN
// SIG // AQELBQADggEBAC5Rja3h4TuLzw9ctoSMknGzzp0/TSjv
// SIG // VSG9Auq9lz3koIMhNTLVxKNAJM3uyNCY1n11ni2y9L8m
// SIG // VpsZj2uVK+/wmlNykYskTnBRoSnTwcWHfecWfeJnNfQa
// SIG // n0BzBcaIeqN7kdzI3111Uhlmt7iCW5SatEEA8M3UbjQF
// SIG // 0Ft11VydzBJzUSBK0BhNohURp85e4e94siaNN7EGt8ga
// SIG // va+NLolunztfRgJ8XjXjucq8p7h8pGQONPYlgilFKDbf
// SIG // 7imHBgzuojquGdtbkW9ngUYW+M+kfZHPq4zinRM07pX8
// SIG // bnobu1F2bUmzVDAhp6JiUUHEsDJ2ZFs7na/fQUu9tSKb
// SIG // jFMxggQNMIIECQIBATCBkzB8MQswCQYDVQQGEwJVUzET
// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
// SIG // cCBQQ0EgMjAxMAITMwAAAezgK6SC0JFSgAABAAAB7DAN
// SIG // BglghkgBZQMEAgEFAKCCAUowGgYJKoZIhvcNAQkDMQ0G
// SIG // CyqGSIb3DQEJEAEEMC8GCSqGSIb3DQEJBDEiBCA976cS
// SIG // 96IljvftXLFAP7wRyi+Iuj/0WlP1aeBUEqrdbDCB+gYL
// SIG // KoZIhvcNAQkQAi8xgeowgecwgeQwgb0EICcJ5vVqfTfI
// SIG // hx21QBBbKyo/xciQIXaoMWULejAE1QqDMIGYMIGApH4w
// SIG // fDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldhc2hpbmd0
// SIG // b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1p
// SIG // Y3Jvc29mdCBDb3Jwb3JhdGlvbjEmMCQGA1UEAxMdTWlj
// SIG // cm9zb2Z0IFRpbWUtU3RhbXAgUENBIDIwMTACEzMAAAHs
// SIG // 4CukgtCRUoAAAQAAAewwIgQgkxZ9YfiuKBvTFXAhPdTn
// SIG // aEmX+vSdmJn2XPI9dEv4LU4wDQYJKoZIhvcNAQELBQAE
// SIG // ggIAfr8SvB8V2Ii4ydQxV+GNJwrtNPywvvONAVzYkP82
// SIG // Tfisan9W5C1IYnkL02ON1xqt6WFJZ8yixw1ztTMrgWyB
// SIG // 2YSqs7Uzso+eHVDUPIsr3VdVO50vMVjEVCC0v5KMtvkY
// SIG // XzIDa+NV9OuyIMqP+SFKKOP7nVJ0wZ4BSKIoDeRgZ9N5
// SIG // aQxjudEx1djMYYgjtoUXkm7BUCYqaoSpiC6hgy7K0oMY
// SIG // vXoI6AvRztujbFvCmfeyuIWZVMNQrVa5ZnhRsLv6JlSo
// SIG // 8c4sTi+9ZteZyhhpUjo5/k/91xHHovlMuwDWQfUS5fID
// SIG // yxVPIbgZg7V571VpFxjJn8BKMpr06Pa9kVoIJjhYUcl6
// SIG // VdDiuvg79z4B4yEFnhtMe8jGCtDQ9xHXl9HUJqIX2zXQ
// SIG // lKdbKUqf6SB1AN8+sW1YRU67zHs1KyY0hb8JJznUEyqr
// SIG // VeWmlEP4JZo+9yRkQTHypYRaLh0AnsR5F8mnSmr3tUJD
// SIG // Re1IQBN54jYVcRX57RXdSKsldvZOFYqKcU76zeS2Fy03
// SIG // 8K1tmH0q0020YpW9R9seABj2qi7Z0mw5xJR6PI9fcZvh
// SIG // v5TDVRgoKdABjt6ZqeZ4Ekrm9+OADJViwYeA7SCR29qA
// SIG // Cs4kmPU6RdfZws9RN/Merg5TaBq6TrYn7ksItDrCgo+q
// SIG // 2DCqqg13uuESqJSvg94jEoEuVtY=
// SIG // End signature block