function CheckboxMenu(id, data, persistkeys, globals) { this.id = id; this.menuCheckboxIds = new Array(); this.data = data; this.count = 0; var element = document.getElementById(id); var checkboxNodes = element.getElementsByTagName("input"); for(var checkboxCount=0; checkboxCount < checkboxNodes.length; checkboxCount++) { var checkboxId = checkboxNodes[checkboxCount].getAttribute('id'); var checkboxData = checkboxNodes[checkboxCount].getAttribute('data'); var dataSplits = checkboxData.split(','); var defaultValue = checkboxNodes[checkboxCount].getAttribute('value'); if (checkboxData != null && checkboxData.indexOf("persist") != -1) persistkeys.push(checkboxId); this.menuCheckboxIds[dataSplits[0]] = checkboxId; // try to get the value for this checkbox id from globals var persistedValue = (globals == null) ? null : globals.VariableExists(checkboxId) ? globals.VariableValue(checkboxId) : null; var currentValue = (persistedValue != null) ? persistedValue : (defaultValue == null) ? "on" : defaultValue; // set the checkbox's check state this.SetCheckState(checkboxId, currentValue); this.count++; } } CheckboxMenu.prototype.SetCheckState=function(id, value) { var checkbox = document.getElementById(id); if(checkbox != null) { checkbox.checked = (value == "on") ? true : false; } // set the value for the checkbox id in the data array this.data[id] = value; } CheckboxMenu.prototype.GetCheckState=function(id) { var checkbox = document.getElementById(id); if(checkbox != null) return checkbox.checked; return false; } CheckboxMenu.prototype.ToggleCheckState=function(id) { // at least one checkbox must always be checked var checkedCount = this.GetCheckedCount(); if(this.data[id] == "on" && checkedCount > 1) this.SetCheckState(id, "off"); else this.SetCheckState(id, "on"); } // returns the checkbox id associated with a key CheckboxMenu.prototype.GetCheckboxId=function(key) { return this.menuCheckboxIds[key]; } // returns the array of checkbox ids CheckboxMenu.prototype.GetCheckboxIds=function() { return this.menuCheckboxIds; } // returns the @data attribute of the checkbox element CheckboxMenu.prototype.GetCheckboxData=function(checkboxId) { var checkbox = document.getElementById(checkboxId); if (checkbox == null) return ""; return checkbox.getAttribute('data'); } CheckboxMenu.prototype.GetDropdownLabelId=function() { var checkboxCount = this.count; var checkedCount = this.GetCheckedCount(); var idPrefix = this.id; // if all boxes checked, use showall label if (checkedCount == checkboxCount) return idPrefix.concat("AllLabel"); // if only one is checked, use label appropriate for that one checkbox if (checkedCount == 1) { for(var key in this.menuCheckboxIds) { if (this.data[this.menuCheckboxIds[key]] == "on") { return idPrefix.concat(key,'Label'); } } } // if multiple or zero checked, use multiple label return idPrefix.concat("MultipleLabel"); } CheckboxMenu.prototype.GetCheckedCount=function() { var count = 0; for(var key in this.menuCheckboxIds) { if (this.data[this.menuCheckboxIds[key]] == "on") count++; } return (count); } // returns an array containing the ids of the checkboxes that are checked CheckboxMenu.prototype.GetCheckedIds=function() { var idArray = new Array(); for(var key in this.menuCheckboxIds) { if (this.data[this.menuCheckboxIds[key]] == "on") idArray.push(this.menuCheckboxIds[key]); } return idArray; } CheckboxMenu.prototype.GetGroupCheckedCount=function(checkboxGroup) { var count = 0; for(var i = 0; i < checkboxGroup.length; i++) { if (this.data[checkboxGroup[i]] == "on") count++; } return (count); } CheckboxMenu.prototype.ToggleGroupCheckState=function(id, checkboxGroup) { // at least one checkbox must always be checked var checkedCount = this.GetGroupCheckedCount(checkboxGroup); // if the group has multiple checkboxes, one must always be checked; so toggle to "off" only if more than one currently checked // if the group has only one checkbox, it's okay to toggle it on/off if(this.data[id] == "on" && (checkedCount > 1 || checkboxGroup.length == 1)) this.SetCheckState(id, "off"); else this.SetCheckState(id, "on"); } // SIG // Begin signature block // SIG // MIIbKQYJKoZIhvcNAQcCoIIbGjCCGxYCAQExCzAJBgUr // SIG // DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB // SIG // gjcCAR4wJAIBAQQQEODJBs441BGiowAQS9NQkAIBAAIB // SIG // AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFG0J33p8Nzl/ // SIG // UWf39lx1do5O0FCAoIIV8jCCBKAwggOIoAMCAQICCmEa // SIG // 9eoAAAAAAGowDQYJKoZIhvcNAQEFBQAweTELMAkGA1UE // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD // SIG // b3Jwb3JhdGlvbjEjMCEGA1UEAxMaTWljcm9zb2Z0IENv // SIG // ZGUgU2lnbmluZyBQQ0EwHhcNMTExMTAxMjIzOTE3WhcN // SIG // MTMwMjAxMjI0OTE3WjCBgzELMAkGA1UEBhMCVVMxEzAR // SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v // SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv // SIG // bjENMAsGA1UECxMETU9QUjEeMBwGA1UEAxMVTWljcm9z // SIG // b2Z0IENvcnBvcmF0aW9uMIIBIjANBgkqhkiG9w0BAQEF // SIG // AAOCAQ8AMIIBCgKCAQEAw6kfz3wjfzEeBiWJ3XV5uc+T // SIG // S2GStpXy76olnXfzS1ptSZDM4DG4pgI3h3Sv8qygYJS4 // SIG // x04l/ofYWNIgTi3xOmUuklumXeaVdeA05VAhnH05l7aO // SIG // RCNmFqZlIOA264r6neLLYAH8KmTIh0UU8R7KzSisuuVX // SIG // WSbc7MVKbJrmAxopMj8AnoOsJQ2EzN1vtmq7LfeEOm1m // SIG // Meg2cP+EkpD3QHaeiC5H1isR94/gEmUrvF/vFfz37AFo // SIG // t0UM7sAEsA63vXhrro3kUPE14p4B0uHrW3GCYSEg89TJ // SIG // 3hy4AkVlSb5+tTeGp83sWt+4diD8ERNR/PoqUKq0HtA6 // SIG // gL5jytyBRwIDAQABo4IBHTCCARkwEwYDVR0lBAwwCgYI // SIG // KwYBBQUHAwMwHQYDVR0OBBYEFAADpuWixHGigsOPds0s // SIG // DRLinUooMA4GA1UdDwEB/wQEAwIHgDAfBgNVHSMEGDAW // SIG // gBRXRXQcXbD2yEMF4IxULY8yp/5IljBWBgNVHR8ETzBN // SIG // MEugSaBHhkVodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20v // SIG // cGtpL2NybC9wcm9kdWN0cy9NaWNDb2RTaWdQQ0FfMDgt // SIG // MzEtMjAxMC5jcmwwWgYIKwYBBQUHAQEETjBMMEoGCCsG // SIG // AQUFBzAChj5odHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v // SIG // cGtpL2NlcnRzL01pY0NvZFNpZ1BDQV8wOC0zMS0yMDEw // SIG // LmNydDANBgkqhkiG9w0BAQUFAAOCAQEAkPf4eZJpyI9r // SIG // imDufMGuPoE4UvS6z5mM8C09E/Su9mHwdThOWcY/B0P5 // SIG // B3zHU+SRYtaodhR1lIZZsroQwn9sFT8ZFcMOL345w8/+ // SIG // VCdYlDVhB3ltUVewEuHqY3KKFmbrnzkqMwQ1i4PeCl4x // SIG // vJ8d7jVFDV3Hl98q4J1/Okn740hFMt82bQludlVVrDTF // SIG // eV1uAtXMl4nzqGh9FOppewtVfQKMxE0wvGL3e6XsoJLw // SIG // DioOr1ebKUjNtiGl6h3v3An1q2LWDew1X2uZ1LHwd1L5 // SIG // d+k/bJhWwFw2oU5eEPSMehGXICAxCHluchZfHDBXm8t8 // SIG // olX1cGx47KFDIK7ssDWLGDCCBLowggOioAMCAQICCmEF // SIG // GZYAAAAAABswDQYJKoZIhvcNAQEFBQAwdzELMAkGA1UE // SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV // SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD // SIG // b3Jwb3JhdGlvbjEhMB8GA1UEAxMYTWljcm9zb2Z0IFRp // SIG // bWUtU3RhbXAgUENBMB4XDTExMDcyNTIwNDIxOVoXDTEy // SIG // MTAyNTIwNDIxOVowgbMxCzAJBgNVBAYTAlVTMRMwEQYD // SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k // SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x // SIG // DTALBgNVBAsTBE1PUFIxJzAlBgNVBAsTHm5DaXBoZXIg // SIG // RFNFIEVTTjo5RTc4LTg2NEItMDM5RDElMCMGA1UEAxMc // SIG // TWljcm9zb2Z0IFRpbWUtU3RhbXAgU2VydmljZTCCASIw // SIG // DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANPLO1Oi // SIG // n0SjeqtNVnFTineqN5N+AT79qwKjU6n/0bEixQCQ53Vu // SIG // 7hjogQ4TxdhhAL4foHY7BA0ExQSgqPxDUwahBAS5C5KY // SIG // AmI479QzEvcrPXvvrUVXhZUgn9djNJxiRo6+ruDZnjn2 // SIG // qVX9z+d35jUT71zov0iTTxpDB1g4in+FFGzqydBLeoJu // SIG // y9MVYAgUiZSoWz86yT8gfW0vWBp9yoo4vMPCOWjYLVga // SIG // I+0qEAhaIIyCpe3Rl0WShczDN4PfDZh8xdO24JlT2HgI // SIG // 9eUjIQdihlpqaRn9cPlTNIH3JTEZhoeLwFWa/apMNRX9 // SIG // W+mVyatTmClfLKXhJQ9kxfKwJ3UCAwEAAaOCAQkwggEF // SIG // MB0GA1UdDgQWBBR5I+ehDb5VLGgYKWKCZ9bz4TY4WjAf // SIG // BgNVHSMEGDAWgBQjNPjZUkZwCu1A+3b7syuwwzWzDzBU // SIG // BgNVHR8ETTBLMEmgR6BFhkNodHRwOi8vY3JsLm1pY3Jv // SIG // c29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9NaWNyb3Nv // SIG // ZnRUaW1lU3RhbXBQQ0EuY3JsMFgGCCsGAQUFBwEBBEww // SIG // SjBIBggrBgEFBQcwAoY8aHR0cDovL3d3dy5taWNyb3Nv // SIG // ZnQuY29tL3BraS9jZXJ0cy9NaWNyb3NvZnRUaW1lU3Rh // SIG // bXBQQ0EuY3J0MBMGA1UdJQQMMAoGCCsGAQUFBwMIMA0G // SIG // CSqGSIb3DQEBBQUAA4IBAQBHwnaBWzHdb9M8mfJ6bH6X // SIG // E1AsBRcbELhEobWM9FbPvbAhtGRtYRzY7ujr9ZLuQ6IY // SIG // RMP6+u+ttlx/l21LtUP7J2F4CFR8sfmvmAq0dMSq6C1Q // SIG // xH3+fU6hmdYnKLeu2N+xj4Mijs7zefxhFG2/68yEsN+j // SIG // u1sFt+pU9WIdbCemY0v646H6u9+FlmVpU7C2cZhkJma9 // SIG // xfFcYryR9D2cS0IADc84BRQmWtwqBUt/apk42N1zmaLO // SIG // jFAknqTr9T+KeMxUmV0lZqRBBiivScS0UpTs3gKDZP5N // SIG // 1P9LovwpgNvuP6s87TOIyr8iYNBcOwSwCrSYbTynOk+a // SIG // 0QEWEWKKQXagMIIGBzCCA++gAwIBAgIKYRZoNAAAAAAA // SIG // HDANBgkqhkiG9w0BAQUFADBfMRMwEQYKCZImiZPyLGQB // SIG // GRYDY29tMRkwFwYKCZImiZPyLGQBGRYJbWljcm9zb2Z0 // SIG // MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9vdCBDZXJ0aWZp // SIG // Y2F0ZSBBdXRob3JpdHkwHhcNMDcwNDAzMTI1MzA5WhcN // SIG // MjEwNDAzMTMwMzA5WjB3MQswCQYDVQQGEwJVUzETMBEG // SIG // A1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9u // SIG // ZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u // SIG // MSEwHwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQ // SIG // Q0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB // SIG // AQCfoWyx39tIkip8ay4Z4b3i48WZUSNQrc7dGE4kD+7R // SIG // p9FMrXQwIBHrB9VUlRVJlBtCkq6YXDAm2gBr6Hu97IkH // SIG // D/cOBJjwicwfyzMkh53y9GccLPx754gd6udOo6HBI1PK // SIG // jfpFzwnQXq/QsEIEovmmbJNn1yjcRlOwhtDlKEYuJ6yG // SIG // T1VSDOQDLPtqkJAwbofzWTCd+n7Wl7PoIZd++NIT8wi3 // SIG // U21StEWQn0gASkdmEScpZqiX5NMGgUqi+YSnEUcUCYKf // SIG // hO1VeP4Bmh1QCIUAEDBG7bfeI0a7xC1Un68eeEExd8yb // SIG // 3zuDk6FhArUdDbH895uyAc4iS1T/+QXDwiALAgMBAAGj // SIG // ggGrMIIBpzAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW // SIG // BBQjNPjZUkZwCu1A+3b7syuwwzWzDzALBgNVHQ8EBAMC // SIG // AYYwEAYJKwYBBAGCNxUBBAMCAQAwgZgGA1UdIwSBkDCB // SIG // jYAUDqyCYEBWJ5flJRP8KuEKU5VZ5KShY6RhMF8xEzAR // SIG // BgoJkiaJk/IsZAEZFgNjb20xGTAXBgoJkiaJk/IsZAEZ // SIG // FgltaWNyb3NvZnQxLTArBgNVBAMTJE1pY3Jvc29mdCBS // SIG // b290IENlcnRpZmljYXRlIEF1dGhvcml0eYIQea0WoUqg // SIG // pa1Mc1j0BxMuZTBQBgNVHR8ESTBHMEWgQ6BBhj9odHRw // SIG // Oi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9k // SIG // dWN0cy9taWNyb3NvZnRyb290Y2VydC5jcmwwVAYIKwYB // SIG // BQUHAQEESDBGMEQGCCsGAQUFBzAChjhodHRwOi8vd3d3 // SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY3Jvc29m // SIG // dFJvb3RDZXJ0LmNydDATBgNVHSUEDDAKBggrBgEFBQcD // SIG // CDANBgkqhkiG9w0BAQUFAAOCAgEAEJeKw1wDRDbd6bSt // SIG // d9vOeVFNAbEudHFbbQwTq86+e4+4LtQSooxtYrhXAstO // SIG // IBNQmd16QOJXu69YmhzhHQGGrLt48ovQ7DsB7uK+jwoF // SIG // yI1I4vBTFd1Pq5Lk541q1YDB5pTyBi+FA+mRKiQicPv2 // SIG // /OR4mS4N9wficLwYTp2OawpylbihOZxnLcVRDupiXD8W // SIG // mIsgP+IHGjL5zDFKdjE9K3ILyOpwPf+FChPfwgphjvDX // SIG // uBfrTot/xTUrXqO/67x9C0J71FNyIe4wyrt4ZVxbARcK // SIG // FA7S2hSY9Ty5ZlizLS/n+YWGzFFW6J1wlGysOUzU9nm/ // SIG // qhh6YinvopspNAZ3GmLJPR5tH4LwC8csu89Ds+X57H21 // SIG // 46SodDW4TsVxIxImdgs8UoxxWkZDFLyzs7BNZ8ifQv+A // SIG // eSGAnhUwZuhCEl4ayJ4iIdBD6Svpu/RIzCzU2DKATCYq // SIG // SCRfWupW76bemZ3KOm+9gSd0BhHudiG/m4LBJ1S2sWo9 // SIG // iaF2YbRuoROmv6pH8BJv/YoybLL+31HIjCPJZr2dHYcS // SIG // ZAI9La9Zj7jkIeW1sMpjtHhUBdRBLlCslLCleKuzoJZ1 // SIG // GtmShxN1Ii8yqAhuoFuMJb+g74TKIdbrHk/Jmu5J4PcB // SIG // ZW+JC33Iacjmbuqnl84xKf8OxVtc2E0bodj6L54/LlUW // SIG // a8kTo/0wggaBMIIEaaADAgECAgphFQgnAAAAAAAMMA0G // SIG // CSqGSIb3DQEBBQUAMF8xEzARBgoJkiaJk/IsZAEZFgNj // SIG // b20xGTAXBgoJkiaJk/IsZAEZFgltaWNyb3NvZnQxLTAr // SIG // BgNVBAMTJE1pY3Jvc29mdCBSb290IENlcnRpZmljYXRl // SIG // IEF1dGhvcml0eTAeFw0wNjAxMjUyMzIyMzJaFw0xNzAx // SIG // MjUyMzMyMzJaMHkxCzAJBgNVBAYTAlVTMRMwEQYDVQQI // SIG // EwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4w // SIG // HAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xIzAh // SIG // BgNVBAMTGk1pY3Jvc29mdCBDb2RlIFNpZ25pbmcgUENB // SIG // MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA // SIG // n43fhTeMsQZWZjZO1ArrNiORHq+rjVjpxM/BnzoKJMTE // SIG // xF6w7hUUxfo+mTNrGWly9HwFX+WZJUTXNRmKkNwojpAM // SIG // 79WQYa3e3BhwLYPJb6+FLPjdubkw/XF4HIP9yKm5gmcN // SIG // erjBCcK8FpdXPxyY02nXMJCQkI0wH9gm1J57iNniCe2X // SIG // SUXrBFKBdXu4tSK4Lla718+pTjwKg6KoOsWttgEOas8i // SIG // tCMfbNUn57d+wbTVMq15JRxChuKdhfRX2htZLy0mkinF // SIG // s9eFo55gWpTme5x7XoI0S23/1O4n0KLc0ZAMzn0OFXyI // SIG // rDTHwGyYhErJRHloKN8igw24iixIYeL+EQIDAQABo4IC // SIG // IzCCAh8wEAYJKwYBBAGCNxUBBAMCAQAwHQYDVR0OBBYE // SIG // FFdFdBxdsPbIQwXgjFQtjzKn/kiWMAsGA1UdDwQEAwIB // SIG // xjAPBgNVHRMBAf8EBTADAQH/MIGYBgNVHSMEgZAwgY2A // SIG // FA6sgmBAVieX5SUT/CrhClOVWeSkoWOkYTBfMRMwEQYK // SIG // CZImiZPyLGQBGRYDY29tMRkwFwYKCZImiZPyLGQBGRYJ // SIG // bWljcm9zb2Z0MS0wKwYDVQQDEyRNaWNyb3NvZnQgUm9v // SIG // dCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHmCEHmtFqFKoKWt // SIG // THNY9AcTLmUwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDov // SIG // L2NybC5taWNyb3NvZnQuY29tL3BraS9jcmwvcHJvZHVj // SIG // dHMvbWljcm9zb2Z0cm9vdGNlcnQuY3JsMFQGCCsGAQUF // SIG // BwEBBEgwRjBEBggrBgEFBQcwAoY4aHR0cDovL3d3dy5t // SIG // aWNyb3NvZnQuY29tL3BraS9jZXJ0cy9NaWNyb3NvZnRS // SIG // b290Q2VydC5jcnQwdgYDVR0gBG8wbTBrBgkrBgEEAYI3 // SIG // FS8wXjBcBggrBgEFBQcCAjBQHk4AQwBvAHAAeQByAGkA // SIG // ZwBoAHQAIACpACAAMgAwADAANgAgAE0AaQBjAHIAbwBz // SIG // AG8AZgB0ACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAC4w // SIG // EwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQEF // SIG // BQADggIBADC8sCCkYqCn7zkmYT3crMaZ0IbELvWDMmVe // SIG // Ij6b1ob46LafyovWO3ULoZE+TN1kdIxJ8oiMGGds/hVm // SIG // Rrg6RkKXyJE31CSx56zT6kEUg3fTyU8FX6MUUr+WpC8+ // SIG // VlsQdc5Tw84FVGm0ZckkpQ/hJbgauU3lArlQHk+zmAwd // SIG // lQLuIlmtIssFdAsERXsEWeDYD7PrTPhg3cJ4ntG6n2v3 // SIG // 8+5+RBFA0r26m0sWCG6kvlXkpjgSo0j0HFV6iiDRff6R // SIG // 25SPL8J7a6ZkhU+j5Sw0KV0Lv/XHOC/EIMRWMfZpzoX4 // SIG // CpHs0NauujgFDOtuT0ycAymqovwYoCkMDVxcViNX2hyW // SIG // DcgmNsFEy+Xh5m+J54/pmLVz03jj7aMBPHTlXrxs9iGJ // SIG // ZwXsl521sf2vpulypcM04S+f+fRqOeItBIJb/NCcrnyd // SIG // EfnmtVMZdLo5SjnrfUKzSjs3PcJKeyeY5+JOmxtKVDhq // SIG // Ize+ardI7upCDUkkkY63BC6Xb+TnRbuPTf1g2ddZwtiA // SIG // 1mA0e7ehkyD+gbiqpVwJ6YoNvihNftfoD+1leNExX7lm // SIG // 299C5wvMAgeN3/8gBqNFZbSzMo0ukeJNtKnJ+rxrBA6y // SIG // n+qf3qTJCpb0jffYmKjwhQIIWaQgpiwLGvJSBu1p5WQY // SIG // G+Cjq97KfBRhQ7hl9TajVRMrZyxNGzBMMYIEozCCBJ8C // SIG // AQEwgYcweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCldh // SIG // c2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQxHjAcBgNV // SIG // BAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEjMCEGA1UE // SIG // AxMaTWljcm9zb2Z0IENvZGUgU2lnbmluZyBQQ0ECCmEa // SIG // 9eoAAAAAAGowCQYFKw4DAhoFAKCB0DAZBgkqhkiG9w0B // SIG // CQMxDAYKKwYBBAGCNwIBBDAcBgorBgEEAYI3AgELMQ4w // SIG // DAYKKwYBBAGCNwIBFTAjBgkqhkiG9w0BCQQxFgQUekzA // SIG // vSxVIrspawWWpW2WsZl4iqUwcAYKKwYBBAGCNwIBDDFi // SIG // MGCgOIA2AEMAbwBkAGUAIABTAGkAZwBuACAASgBhAHYA // SIG // YQAgAFMAYwByAGkAcAB0ACAARgBpAGwAZQBzoSSAImh0 // SIG // dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9keW5hbWljcyAw // SIG // DQYJKoZIhvcNAQEBBQAEggEAXD8sEUwa1qobHfPW3zHo // SIG // xd/wRC5BHyiUN05CfanuTZHnKKyYKnDZC09Ox4UTNxXX // SIG // G2OkJ5ysbRTWiWYLt8Wl3gM/v8gIQznAZmpBz2+NGihu // SIG // Ysu7vIWUyH+VsmWB4DBeFwzSULOD+ersrLZvYFCKSGa9 // SIG // 9WcvCQVd5L5RXwDHA+P2l5pfysqbxGW4QHbdbQSFgdDn // SIG // HqzFNLBfKEHQZLygBsjN2P6kkXFb5I8mQU5/DyRNFrkJ // SIG // cKCpIeEzozopHxsJ9svi0tL/Z/wmA1XLsmmW1b4pAHQi // SIG // Tv5BF4GUZzDerVuk1XB5g0aHQKQNHH2n7yq8KP80Yzfj // SIG // oG6uwxWhgvPEvaGCAh0wggIZBgkqhkiG9w0BCQYxggIK // SIG // MIICBgIBATCBhTB3MQswCQYDVQQGEwJVUzETMBEGA1UE // SIG // CBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEe // SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSEw // SIG // HwYDVQQDExhNaWNyb3NvZnQgVGltZS1TdGFtcCBQQ0EC // SIG // CmEFGZYAAAAAABswBwYFKw4DAhqgXTAYBgkqhkiG9w0B // SIG // CQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0x // SIG // MjAxMDUyMDQyMjdaMCMGCSqGSIb3DQEJBDEWBBQTl2JA // SIG // 568X+MMceCSkGddbwE4MlzANBgkqhkiG9w0BAQUFAASC // SIG // AQDS/nW9EewLYWMakKwBHL7LqQH3QwYfTwP0+QeRoCrx // SIG // a5tWnMyjupAkalrMII3DqBf715nGSD586mlSbF34lWHC // SIG // 2rpddJhUiwUPdFcJo8VBPk7paarKyK8OpdRYK8rjzpa/ // SIG // XAJDfX1ELF150PtqHrq2jUKlS8JfA6sweRRA1awMU+uC // SIG // LMkZ+/FBjGnRECe49YHGADpuzS6hD2XBRgJotowtV0yr // SIG // QgNOOFyOpFYg51ghT84LTCknA4E9J5MY7eLJaJyJq4dE // SIG // cZLMJlpetnnv8L+4XVZ1HNPjVpUrwtXoWOiWZbT4mv8r // SIG // EMdLXukWNWfeFcVzXvBYztDW3+OCTCB5j6s+ // SIG // End signature block